我用的是剧情片和烧瓶。在剧情片中,我有一个将文件发送到google驱动器的功能。但有一个问题。
如果我只调用一次剧情片功能,并等待结果由我自己,直到所有的文件被交付到谷歌驱动器,这是好的。
但问题是,如果我几次调用我的剧情片函数,在剧作家完成时没有等待--它会导致剧作家不再等待先前调用的结果而再次发送函数的情况。如何防止这种行为?如果另一个不完整,我怎么能指示剧作家不调用函数?需要先等待完整的戏剧化第一次召唤吗?但是做异步的
我的职责是:
@dramatiq.actor(store_results=True)
def my_actor(credentials, loan_number, id_folder):
print('start')
g = GoogleApi(credentials)
directory = os.path.join(UPLOAD_FOLDER_MAIN + "/" + str(loan_number))
for i in list_of_files:
g.upload_file(i, id_folder)
return True我试着使用get结果与‘块真’‘,但它会导致阻塞I/O,如何做到异步?
谢谢
发布于 2022-02-20 19:32:23
如文档中所示,可以使用管道。
如果您不需要上一次作业的结果,可以使用message_with_options(pipe_ignore=True)
https://dramatiq.io/cookbook.html#pipelines
如果任务不需要井井有条,但一次只运行一个,也许利率限制会有所帮助。
https://stackoverflow.com/questions/68090060
复制相似问题