Airflow ExternalTask​​Sensor一直在寻找另一个dag

时间:2018-01-18 09:08:31

标签: python airflow

我想使用ExternalTask​​Sensor。

TaskSensor = ExternalTaskSensor(
                            task_id='TaskSensor',
                            external_dag_id='datamart_OTT_CMS_v1',
                             external_task_id="end",
                             allowed_states=None,
                             execution_delta=None,
                             execution_date_fn=None,
                                dag=dag)

我写了一个dag B取决于A.当dag A结束(成功)然后dag B将运行。但是当它运行时,我发现dag B一直在戳dag A。 enter image description here

enter image description here

为什么呢?我想念一下吗?

1 个答案:

答案 0 :(得分:1)

这是预期的行为。 ExternalTaskSensor正在轮询DAG datamart_OTT_CMS_v1的“结束”任务完成。默认情况下,它会每分钟检查一次,但您可以通过在传感器上设置poke_interval(秒)来降低此间隔。

或许您正在寻找的是TriggerDagRunOperator。因此,您可以在DAG A结束时使用此运算符来触发DAG B的运行,而不是依赖于轮询。