Airflow 是否有方法设置气流dag,使dag-a赢得';如果dag-b仍在运行,则不运行,反之亦然?

Airflow 是否有方法设置气流dag,使dag-a赢得';如果dag-b仍在运行,则不运行,反之亦然?,airflow,airflow-operator,Airflow,Airflow Operator,我有多个dag,它们以不同的节奏运行:一些是每周,一些是每天,等等。我希望它的设置使dag-a运行时,dag-b应该等到它完成。此外,如果dag-b正在运行,dag-a应该等到dag-b完成,等等。是否有办法在“开箱即用”中实现这一点?您正在寻找的可能是 气流的描述也非常有用 如果您正在使用它,还可以使用,这对于可视化这些依赖关系非常有用 您可以使用传感器操作符来检测dag运行或dag运行中的任务。外部任务传感器是最佳选择。请注意设置时间差的方式。一般来说,其想法是指定传感器何时能够找到dag运

我有多个dag,它们以不同的节奏运行:一些是每周,一些是每天,等等。我希望它的设置使dag-a运行时,dag-b应该等到它完成。此外,如果dag-b正在运行,dag-a应该等到dag-b完成,等等。是否有办法在“开箱即用”中实现这一点?

您正在寻找的可能是

气流的描述也非常有用


如果您正在使用它,还可以使用,这对于可视化这些依赖关系非常有用

您可以使用传感器操作符来检测dag运行或dag运行中的任务。外部任务传感器是最佳选择。请注意设置时间差的方式。一般来说,其想法是指定传感器何时能够找到dag运行。 如: 如果主dag计划在4 UTC,并且任务传感器是dag中的任务,如下图所示

ExternalTaskSensor(
            dag=dag,
            task_id='dag_sensor_{}'.format(key),
            external_dag_id=key,
            timedelta=timedelta(days=1),
            external_task_id=None,
            mode='reschedule',
            check_existence=True
        )
然后,应该检测到的另一个dag必须在4.00UTC时触发运行。一天的差异被设置为抵消执行日期和当前日期的差异