我有3个芹菜任务一个接一个地执行。因为每个任务的输出将用作下一个任务的输入。
processSPP.apply_async((selevation,a,c,emailAdd), link=[emailfile.s(),deletefile.s()])
第一个任务:processSPP(生成文件)
第二项任务:emailfile(将生成的文件通过电子邮件发送给用户)
当我运行烧瓶应用程序时。
第一个任务首先执行(这是我需要的)
问题是第一个任务完成后第二个和第三个任务开始同时执行。我想在完成第二项任务后开始第3项任务。
答案 0 :(得分:0)
您可能需要celery.chain:
chain(processSPP.s(selevation,a,c,emailAdd), emailfile.s(), deletefile.s()).apply_async()
原始代码的问题在于,您要将emailfile
和deletefile
链接到processSPP
,而您实际想要做的是将emailfile
链接到{{ 1}}并将processSPP
与deletefile
相关联。
在您的问题中使用emailfile
的等价物看起来有点像:
link