Python 将父任务参数传递给所有芹菜子任务

Python 将父任务参数传递给所有芹菜子任务,python,celery,Python,Celery,鉴于以下任务: @app.task def task1(v1, v2): return "val3" @app.task def task2(v1, v2, v3): return "val4" @app.task def task3(v1, v2, v3): return "val4" 给定以下工作流: workflow = chain( task1.s(), group( task2.s(), task3.s()

鉴于以下任务:

@app.task
def task1(v1, v2):
    return "val3"

@app.task
def task2(v1, v2, v3):
    return "val4"

@app.task
def task3(v1, v2, v3):
    return "val4"
给定以下工作流:

workflow = chain(
    task1.s(),
    group(
        task2.s(),
        task3.s()
    )
)

result = workflow.delay("val1", "val2")
如何让芹菜将原始参数
val1
val2
传递到组内的
task2
task3
task1
的结果是传递的唯一值。

task.s()
只是一个签名(部分函数)。如果需要,您可以随时向它传递一些参数

因此,您可以使用此工作流

x = 'my first arg'
y = 'my second arg'

workflow = chain(task1.s(x, y), group(task2.s(x, y), task3.s(x, y)))
result = workflow.delay()
还要注意,第一个任务的结果作为第一个参数传递给下一个任务