Airflow 等待触发的DAG

Airflow 等待触发的DAG,airflow,google-cloud-composer,Airflow,Google Cloud Composer,我有一个控制dag,它会触发另外两个dag。两个DAG应顺序运行,而不是并行运行。 我试着这样解决问题: TriggerDag (using BashOp) -> ExternalDagSensor -> TriggerDag (using BashOp) -> ExternalDagSensor. 我的问题是,触发的DAG确实获得了一个特定的执行日期(具体到秒,而不是分钟和秒的00:00)。dag传感器现在使用控制dag的执行时间戳取从属dag,因此传感器永远不会被触发,因

我有一个控制dag,它会触发另外两个dag。两个DAG应顺序运行,而不是并行运行。 我试着这样解决问题:

TriggerDag (using BashOp) -> ExternalDagSensor -> TriggerDag (using BashOp) -> ExternalDagSensor.
我的问题是,触发的DAG确实获得了一个特定的执行日期(具体到秒,而不是分钟和秒的00:00)。dag传感器现在使用控制dag的
执行时间
戳取从属dag,因此传感器永远不会被触发,因为从属dag具有不同的
执行时间

我的问题是:

  • Trigger->Sensor->Trigger->Sensor
    模式是否是顺序触发DAG的正确方式
  • 如果是:我如何获得

    a) 在控制器DAG触发从属DAG后,从属DAG的执行日期(可以作为参数传递给传感器)

    b) 从属DAG的执行日期与控制DAG相同


  • 如果可能的话,我不想通过查询元数据数据库来获取从属DAG运行的执行时间。

    有几个选项可能更简单一些

  • 您可以通过合并DAG的任务或将其组合成单个DAG吗
  • 如果确实必须将DAG分开,请尝试取消控制DAG,将两个DAG置于相同的开始日期和计划间隔,并让第二个DAG使用ExternalTasksSensor作为其第一个任务。由于DAG在同一时间表上,从属DAG的执行日期将与从属DAG的执行日期相同

  • 嗯,第二个听起来是一个非常优雅的解决方案。问题是:我想有机会独立运行2个DAG,使用ui触发。这种情况可能一个月只发生1到2次,因此另一个想法是为手动运行创建一个单独的DAG