希望一切都好!
问题:我试图在链中运行一组子任务,然后在父级中,我将一组缠绕在链中。子任务正在执行;但是,最父级组基元的结果要在子任务可以吐回其结果之前完成。
示例
---我下面有3个任务---
@app.task
def task_one(seconds):
time.sleep(seconds)
return [seconds + 0.1, seconds + 0.2]
@app.task
def task_two(seconds):
return group(task_three.signature(args=(x,)) for x in seconds)()
@app.task
def task_three(seconds):
time.sleep(seconds)
return {
'sleep': seconds
}
---任务的名称如下---
g = group(
chain(
task_one.s(x),
task_two.s()
) for x in range(1, 3)
)
promise = g.apply_async()
print(promise.get())
函数task_two
将创建一组要执行的任务(task_three
)。运行后,最外面的组将完成执行并在task_three
任务完成之前返回结果。
知道为什么会这样吗?