在python中完成所有芹菜组任务后如何调用该方法

在python中完成所有芹菜组任务后如何调用该方法,python,python-3.x,multiprocessing,celery,celery-task,Python,Python 3.x,Multiprocessing,Celery,Celery Task,目前我正在做芹菜组任务,我想在所有任务完成后调用upload\u local\u directory(output\u file)方法。我尝试了下面的方法,但不是等待工作完成 tasks = [make_tmp_files.s(page.object_list, path + str(uuid.uuid4() + '.csv')) for page in paginator] job = group(tasks) job.apply_async() job.get() output_file

目前我正在做芹菜组任务,我想在所有任务完成后调用upload\u local\u directory(output\u file)方法。我尝试了下面的方法,但不是等待工作完成

tasks = [make_tmp_files.s(page.object_list, path + str(uuid.uuid4() + '.csv')) for page in paginator]
job = group(tasks)
job.apply_async()
job.get()

output_file = 'final.zip'
upload_local_directory_into_S3(output_file)
make_tmp_files
方法是芹菜作业方法

“后端”也在芹菜对象中定义


如果需要更多信息,请发表评论。

您可以选择您的小组和最终的,
制作tmp\u文件
任务,也可以使用来完成相同的任务。如果您看到芹菜自动将组+任务链转换为和弦,请不要惊慌。

在芹菜中,一组任务和一组任务结果之间存在差异。如果要将代码更改为以下内容,则应该可以:

tasks = [make_tmp_files.s(page.object_list, path + str(uuid.uuid4() + '.csv')) for page in paginator]
job = group(tasks)
job_results = job.apply_async()
job_results.get()

output_file = 'final.zip'
upload_local_directory_into_S3(output_file)
job.apply\u async()
返回一组异步结果。作为用户,您需要检查AsyncResult的结果,而不是任务本身

参考:


希望这有帮助

带有回调的Chord将有助于。。谢谢:)