Dan*_*gen 9 python concurrency celery
我正在使用Web应用程序中的Celery来启动任务层次结构.
我正在使用以下任务:
task_atask_btask_cnotify_userDjango视图启动了几个task_a实例.他们每个人都做了一些处理,然后开始几个task_b实例.并且每个都进行一些处理,然后启动几个task_c实例.
想象:

我的目标是执行所有任务,并在整个层次结构完成后立即运行回调函数.此外,我希望能够将数据从最低任务传递到顶级.
notify_user应调用回调函数.notify_user回调函数需要从对数据的访问task_c秒.所有任务都应该是非阻塞的,所以task_b不要等待所有task_c子任务完成.
实现上述目标的正确方法是什么?
解决方案是此拉取请求中提供的动态任务功能: https: //github.com/celery/celery/pull/817。这样,每个任务都可以返回一组子任务,这些子任务将替换队列中的原始任务。