芹菜的父母任务的生命周期是什么?

时间:2016-03-18 17:27:50

标签: python celery

父任务的生命周期是什么?

group(add.s(i, i) for i in xrange(100))()

如果我在父任务中调用此组函数,父级是否会等到所有子任务结束才结束自身?

1 个答案:

答案 0 :(得分:1)

我创建了一个父任务并从中调用了一个组。我刚刚在add中添加了延迟,因此执行它需要一段时间。

@app.task()
def add(x, y):
    time.sleep(10)
    return x + y


@app.task()
def parent():
    print('start')
    group(add.s(i, i) for i in xrange(100))()
    print('stop')

我打电话给父任务。

In [3]: r = parent.delay()  

In [4]: r.state
Out[4]: 'SUCCESS'

它只安排了组任务,然后继续下一步。 没有等待以完成子任务。

但是,如果您希望一项任务等待其他任务,则can use chain