将任务的签名设置为芹菜中多链的启动任务



>假设A到G是异步任务,我们希望实现像这个画布这样的任务工作流

     /---> B()
A()  ----> C() -> D()
     ---> E() -> F() -> G()

根据问题,我们需要使用 A() 的结果来启动多个链。

在代码中:

from celery import chain
# A (params) ?????
B.apply_async(params)
chain(
    C.s(params), D.s(params)
).apply_async()
chain(
    E.s(params), F.s(params), G.s(params)
).apply_async()

在 Celery Canvas 中,如何使用 A() 的结果异步地将多个链的第一个元素放在不运行 A() 三次的情况下?

(我正在使用 Celery 4.1.0 和 RabbitMQ 作为代理)

我知道

bce维护秩序,但肯定a会先于他们所有人完成,因为有一条链条。我只想使用 a 的返回值作为 bce 的输入参数。

相关内容

  • 没有找到相关文章

最新更新