如何在芹菜中回调但不阻止这个过程

时间:2017-02-23 08:41:48

标签: python asynchronous celery

现在我有一些大任务,所有这些都由一些小任务组成,我把它们放到一个代理中,当一个大任务的所有小任务完成后,我需要一个回调来处理结果这些小任务 我知道芹菜有原始的和弦可以做到,只要我有一个大任务,但我有很多 所以,如果我这样写:

chord([task11.s(),task12.s()])(mycallback.s()).get()
chord([task21.s(),task22.s()])(mycallback.s()).get()

第二行在第一行完成之前不会开始,但是这样一来,一些工人很长一段时间会偶像,这不好, 那么芹菜中是否有一些可以在某些情况发生时回调,但不能阻止这个过程?

============================================== < / p>

apply_async有效!@Gigapalmer,谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

尝试链接异步方法,以便在完成后,使用apply_async调用链中的下一个,并在技术上创建一个新作业所需的参数(应该在不同的队列中)。