python – 在气流中可以在多个DAGS中使用单个任务吗?

我有一个task_a,我想在DAG_1和DAG_2中使用.气流中有可能吗?

task_a = SomeOperator(
task_id='some_id',
bash_command='some_command',
#instead of just
dag= DAG_1 # I want to assign this task to multiple dags
#dag=assign_multiple_dags_here(DAG_1 and DAG_2)
)

这可能吗?

最佳答案
你总是可以用partial做一些事情,然后把它分配给2个不同的dag:

from functools import partial
task_template = partial(SomeOperator, some_id='id', some_command='cmd')
task_template(dag=dag1)
task_template(dag=dag2)

你也可以创建一个功能:

def create_task(dag):
    return SomeOperator(some_id='id', some_command='cmd', dag=dag)

for d in (dag1, dag2):
    create_task(d)

转载注明原文:python – 在气流中可以在多个DAGS中使用单个任务吗? - 代码日志