Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在一系列任务结束后,运行清理任务的最佳方式是什么_Python_Celery - Fatal编程技术网

Python 在一系列任务结束后,运行清理任务的最佳方式是什么

Python 在一系列任务结束后,运行清理任务的最佳方式是什么,python,celery,Python,Celery,我有一个芹菜,上面有多个任务,所有任务都链接在一起。大概是这样的: for i in n: a = a.si() .... mychain = chain(a, b, c, d) mychain.apply_async() 如您所见,它们运行了n次,创建了n条链。我的问题是,我是否可以再执行一个任务“e”(有点像清理任务-文件、数据库等),它将在“n”链执行完毕后运行? 我最终可以在最终的迭代链接中很好地实现这一点,但是有没有更好的方法来实现这一点呢?您可能希望使用和

我有一个芹菜,上面有多个任务,所有任务都链接在一起。大概是这样的:

for i in n:
   a = a.si()
   ....
   mychain = chain(a, b, c, d)
   mychain.apply_async()

如您所见,它们运行了n次,创建了n条链。我的问题是,我是否可以再执行一个任务“e”(有点像清理任务-文件、数据库等),它将在“n”链执行完毕后运行?
我最终可以在最终的迭代链接中很好地实现这一点,但是有没有更好的方法来实现这一点呢?

您可能希望使用和弦来实现这一点:


如果它只是一个组,则表示头组中的任务之间没有依赖关系。我想使用chain,因为它提供了一个类似于图形的依赖项,我只想在它们全部结束后能够执行一项任务。你可以在一个和弦中进行链
A chord is just like a group but with a callback. A chord consists of a 
header group and a body, where the body is a task that should execute after 
all of the tasks in the header are complete.