Как остановить DAG от обратной засыпки? catchup_by_default = False и catchup = False, похоже, не работает и планировщик воздушного потока от обратной засыпки - PullRequest
0 голосов
/ 05 сентября 2018

Настройка catchup_by_default = False в airflow.cfg, похоже, не работает. Кроме того, добавление catchup = False в группу обеспечения доступности баз данных также не работает.

Вот как воспроизвести проблему. Я всегда начинаю с чистого листа, запуская airflow resetdb. Как только я отменю паузу, задачи начинают заполняться.

Вот настройки для Дага. Я просто использую учебный пример .

default_args = {
    "owner": "airflow",
    "depends_on_past": False,
    "start_date": datetime(2018, 9, 16),
    "email": ["airflow@airflow.com"],
    "email_on_failure": False,
    "email_on_retry": False,
    "retries": 1,
    "retry_delay": timedelta(minutes=5),
}

dag = DAG("tutorial", default_args=default_args, schedule_interval=timedelta(1), catchup=False)

1 Ответ

0 голосов
/ 22 октября 2018

Чтобы было ясно, если вы включили эту группу обеспечения доступности баз данных, которую вы указали, когда время сейчас 2018-10-22T9: 00: 00.000EDT (то есть 2018-10-22T13: 00: 00.000Z), это будет начало через некоторое время после 2018-10-22T13: 00: 00.000Z с датой запуска, помеченной как 2018-10-21T00: 00: 00.000Z.

Это не обратное заполнение с даты начала, но без какого-либо предварительного запуска, оно «догоняет» самый последний завершенный действительный период; Я не уверен, почему это было так в Airflow какое-то время, но задокументировано , что catchup=False означает создание одного прогона самого последнего действительного периода.

Если дата запуска dagrun еще больше сбивает вас с толку, пожалуйста, помните, что даты запуска - это execution_date, который является началом интервала времени. Данные для интервала полностью доступны только в конце периода интервала, но Airflow предназначен для прохождения в начале периода.

Тогда следующий запуск начнется через некоторое время после 2018-10-23T00: 00: 00.000Z с execution_date, установленным как 2018-10-22T00: 00: 00.000Z.

Если 22-го или более позднего периода вы получаете любую дату выполнения ранее 21-го или запланировано несколько запусков, то да catchup=False не работает. Но нет других сообщений об этом в ветке v1.10 или v1-10-stable.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...