我正在使用一个webapp中的芹菜来启动一个任务层次结构。在
我正在使用以下任务:
task_a
task_b
task_c
notify_user
Django视图启动多个task_a
实例。它们中的每一个都进行一些处理,然后启动几个task_b
实例。每一个都进行一些处理,然后启动几个task_c
实例。在
可视化:
我的目标是执行所有任务,并在整个层次结构完成后立即运行回调函数。此外,我希望能够将数据从最低的任务传递到顶层。
notify_user
回调函数。在notify_user
回调函数需要从task_c
s访问数据所有任务都应该是非阻塞的,因此task_b
不应该等待所有task_c
子任务完成。在
实现上述目标的正确方法是什么?在
假设您有以下任务:
对于给定的输入数据(绘制时):
^{pr2}$您可以:
它的表现是(别看,很难看:)
传递给notify_user的数据将是:
一切都是通过回调(和弦)运行的,因此没有任务等待其他任务。在
解决方案是在这个pull请求中提供的动态任务特性:https://github.com/celery/celery/pull/817。这样,每个任务都可以返回一组子任务,然后这些子任务将替换队列中的原始tak。在
相关问题 更多 >
编程相关推荐