首先要确保AirFlow传感器正确设置并且DAG的依赖关系正确。其次,在子DAG中使用TriggerDagRunOperator而不是普通的DAG运算符来触发子任务。以下是示例代码:
from airflow.operators.dagrun_operator import TriggerDagRunOperator
with DAG('Child_DAG', default_args=default_args) as dag:
# 子任务
task1 = DummyOperator(task_id='task1')
# 触发父任务
trigger_parent = TriggerDagRunOperator(
task_id='trigger_parent',
trigger_dag_id='Parent_DAG',
dag=dag
)
# 定义依赖关系
trigger_parent >> task1
在这个例子中,子DAG中的TriggerDagRunOperator将触发父DAG并启动子任务。这确保了正确的依赖关系,并且能够在父DAG完成时成功触发子任务。