使用python在firestore on_snapshot上进行异步回调

问题描述 投票:0回答:1

我有一个应用程序,它使用google-cloud-firestore监听来自Firestore集合的更新。对于每次更新,我需要将一些数据上传到FTP服务器,这需要时间。同时接收大量数据会导致无法接受的延迟,我认为答案是异步回调(即不要等待我的回调结束再继续),但这是可能的。

想象这样的脚本

from google.cloud.firestore import Client
import time


def callback(col_snapshot, changes, read_time):
    print("Received updates")

    # mock FTP upload
    time.sleep(1)
    print("Finished handling the updates")

Client().collection('news').on_snapshot(callback)

while True:
    pass

我该如何修改该代码,以使其不会在每个回调中排队

python google-cloud-firestore ftp python-asyncio
1个回答
0
投票

您需要做的是使用此SO question中提到的方法之一>

我的建议是在Python 3中使用multiprocessing module

© www.soinside.com 2019 - 2024. All rights reserved.