【问题标题】:Airflow ExternalTaskSensors - to create dags dependencyAirflow ExternalTask​​Sensors - 创建 dags 依赖项
【发布时间】:2017-09-18 12:31:25
【问题描述】:

我想在 DAG A 和 DAG B 上创建 dag 依赖项。DAG A 有两个任务:TASK1 和 TASK2。 DAG B 有 3 个任务:TASK1、TASK2 和 TASK3。

我的要求是 DAG B 在 DAG A TASK1 之后开始。

两个 DAGS 都按小时运行,DAG A 运行@every hours EX: 10.00,DAG B 运行@every hours ex:10.30。

我正在使用 Airflow 和运算符 EXternalTask​​Sensors,但它不起作用。

external_dag_id='DAG A',
external_task_id='TASK1',
allowed_states=None,
execution_delta=None,
execution_date_fn=None,

【问题讨论】:

    标签: python apache-airflow airflow-scheduler


    【解决方案1】:

    如果你在那里检查execution_delta,你没有,文档[https://github.com/apache/incubator-airflow/blob/master/airflow/operators/sensors.py#L194]说:

    :param execution_delta:与上一次执行到的时间差 看一下,默认是和当前任务一样的execution_date。 对于昨天,使用 [positive!] datetime.timedelta(days=1)。任何一个 execution_delta 或 execution_date_fn 可以传递给 ExternalTask​​Sensor,但不能同时使用。

    简短的回答是,由于您在不同的时间运行 DAG A 和 DAG B,您需要放置 execution_delta,否则,它假定您的其他 DAG 同时运行,在这种情况下,没有找到 DAG 运行并且您可能会得到意想不到的东西。所以尝试类似 datetime.timedelta(minutes=30)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多