【发布时间】:2020-04-22 11:58:49
【问题描述】:
我正在尝试实现具有不同开始日期的多个任务的 DAG。 根据 Airflow 文档,绝对是允许的,但不确定它是否是正确的模式。
这里是一个 Dag 示例:
import datetime as dt
import os
from airflow.operators.dummy_operator import DummyOperator
from airflow.models import DAG, Variable
with DAG(DAG_ID, default_args={}, schedule_interval="0 4 * * *",) as dag:
op1 = DummyOperator(start_date=dt.datetime(2019, 7, 1), task_id="op1", dag=dag,)
op2 = DummyOperator(start_date=dt.datetime(2019, 7, 5), task_id="op2", dag=dag,)
第一次dag运行时间安排在2019-07-01,执行op1没有问题,果然没有执行op2。这是我所期待的行为。 但是,调度程序无法移动到 2019 年 7 月 2 日的下一个 dag 运行,因为上一个 dag 运行(2019 年 7 月 1 日)仍处于运行状态。
有什么办法可以避免这种行为,并在所有带有start_date < execution_date 的任务都完成后自动将 dag 运行设置为完成?
我正在运行气流 1.10.2(但从一些简单的测试来看,移动到最新版本没有任何变化)。
【问题讨论】:
标签: python python-3.x airflow airflow-scheduler