【发布时间】:2018-07-17 16:33:15
【问题描述】:
我有一个控制 dag,它触发了另外两个 dag。这两个 dag 应该顺序运行,而不是并行运行。 我尝试这样解决问题:
TriggerDag (using BashOp) -> ExternalDagSensor -> TriggerDag (using BashOp) -> ExternalDagSensor.
我的问题是触发的 DAG 确实获得了特定的 execution_date(具体到秒,而不是 00:00 的分钟和秒)。 DagSensor 现在使用控制 dag 的 execution_time 戳从属 dag,因此传感器永远不会被触发,因为从属 dag 具有不同的 execution_time。
我的问题:
-
Trigger->Sensor->Trigger->Sensor模式是顺序触发 DAG 的正确方法吗? -
如果是:我如何获得
a) 被控制器 DAG 触发后依赖 DAG 的
execution_date(然后可以作为参数传递给传感器)或
b) 依赖 DAG 的
execution_date与控制 DAG 相同
如果可能,我不想查询元数据数据库以获取依赖 DAG 运行的 execution_time。
【问题讨论】:
标签: airflow google-cloud-composer