Я пытаюсь реализовать 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-07-02, поскольку предыдущий прогон даг (на 2019-07-01) все еще находится в состоянии выполнения.
Есть ли какие-либо способ избежать этого поведения и автоматически установить выполнение запуска dag, когда все задачи с start_date < execution_date
завершены?
Я запускаю воздушный поток 1.10.2 (но из некоторого простого теста ничего не меняется, переходя к последняя версия).