DAG A的时间表为“ 0 6 * * *”。
DAG B的时间表为“ * / 5 * * * *”。
但是,只有当DAG A在当天完成后,DAG B才应在当天开始运行。
我玩过SubDags和ExternalTaskSensor,但是还没有找到令人满意的解决方案,我敢肯定我错过了一些好东西。建议?
编辑:说DAG A是我的ETL。 DAG B的某些任务查询我的数据库,并要求该数据是最新的。 DAG B全天运行,但仅在ETL完成后运行。
例如,我可以看到使用ShortCircuitOperator,并且条件为“今天运行的DAG A已完成”。但是我怎么写这个条件呢?
答案 0 :(得分:2)
此问题并非完全相同,但与已经有3个好的答案的另一个问题类似:Scheduling dag runs in Airflow。
我建议通读所有内容,但是要总结那里答案中的信息,对于依赖于另一个DAG的DAG用例,有几种可行的选择:
如果您可以围绕您要完成的用例添加更多详细信息,我也可以提供更具体的指导。
答案 1 :(得分:0)
使用TriggerDagRunOperator
来调用DAG以使其运行。请参阅此question。害怕我无法提供令人满意的示例,因为我还没有使用过它。