如何在芹菜中回调但不阻止进程
how to callback in celery but not block the process
现在我有一些大任务,它们都是由一些小任务组成的,我把它们放在一个代理中,当一个大任务的所有小任务完成后,我需要一个回调来处理这些小任务的结果
我知道芹菜有原始的和弦,只要我有一项大任务就可以做到,但我有很多
所以,如果我这样写:
chord([task11.s(),task12.s()])(mycallback.s()).get()
chord([task21.s(),task22.s()])(mycallback.s()).get()
第一行打完才开始第二行,但是这样一来,有些工人会偶像很久,这样不好,
那么芹菜中是否有一些方法可以在某些情况发生时回调,但不会阻止进程?
============================================= =
apply_async 成功了!@Gigapalmer,谢谢你的帮助
尝试链接异步方法,这样当一个方法完成时,您可以使用 apply_async 调用链中的下一个方法,并且所需的参数将在技术上创建一个新作业(应该在不同的队列中)。
现在我有一些大任务,它们都是由一些小任务组成的,我把它们放在一个代理中,当一个大任务的所有小任务完成后,我需要一个回调来处理这些小任务的结果 我知道芹菜有原始的和弦,只要我有一项大任务就可以做到,但我有很多 所以,如果我这样写:
chord([task11.s(),task12.s()])(mycallback.s()).get()
chord([task21.s(),task22.s()])(mycallback.s()).get()
第一行打完才开始第二行,但是这样一来,有些工人会偶像很久,这样不好, 那么芹菜中是否有一些方法可以在某些情况发生时回调,但不会阻止进程?
============================================= =
apply_async 成功了!@Gigapalmer,谢谢你的帮助
尝试链接异步方法,这样当一个方法完成时,您可以使用 apply_async 调用链中的下一个方法,并且所需的参数将在技术上创建一个新作业(应该在不同的队列中)。