假设必须依次运行函数a,b,...。 我们可以完成一个任务:
def a(...):
...
def b(...):
...
...
@app.task
def abc(...):
a(...)
b(...)
...
或者,我们可以将它们单独设置为任务:
@app.task
def a(...):
...
@app.task
def b(...):
...
...
并将其链接:
@app.task
def abc(...):
chain(a.s(...), b.s(...), ...)
...
第一个版本比第二个版本快(可能不是很多,这取决于任务开销与a,b,...中花费的平均时间)。我想肯定有chain
的原因,但我没有弄清楚。
答案 0 :(得分:1)
有几种用例:
列表可以继续,但是我肯定在生产环境中使用了这三个。祝你好运!