如何将返回值作为celery chain()中的第二个参数传递?

时间:2014-09-23 21:57:14

标签: python python-3.x celery

def method2(p1, p2):
    ...

from celery import chain

res = chain(method1.s("X", "Y"), method2.s("Z"))()

所以我希望method1.s("X", "Y")的结果作为p2的{​​{1}}传递,怎么做?默认情况下,它已分配给method2()p1已分配给"Z"

1 个答案:

答案 0 :(得分:2)

正如我现在看到的那样,在builtins.py中的链式应用方法中,它是不可能的bcs:

      res = signature(task, app=app).clone(fargs).apply(
            last and (last.get(), ),
        )

也许你需要这样做而不用如下链接:

res = method1.apply("X", "Y")
method2.apply("Z", res.result)