我有一个应用程序,它使用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
我该如何修改该代码,以使其不会在每个回调中排队
您需要做的是使用此SO question中提到的方法之一>
我的建议是在Python 3中使用multiprocessing module