DAG с воздушным потоком запланирован с опозданием на день, но ручных срабатываний нет - PullRequest
0 голосов
/ 02 июля 2018

Я использую Воздушный поток 1.8.0 и у меня есть DAG, как этот:

default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'email': ['technical@me.com'],
    'start_date': datetime.datetime(2018, 5, 21),
    'email_on_retry': False,
    'retries': 0
}


dag = DAG('my_dag',
          schedule_interval='40 20 * * *',
          catchup=True,
          default_args=default_args)

Каждый день даг составлен правильно, но с опозданием на день.

Учитывая сегодняшнюю дату

2018-07-02

веб-интерфейс шоу:

enter image description here

вместо 2018-07-01

Но если я сделаю ручной триггер Текущая дата правильно пройдена:

enter image description here

Есть ли способ заставить планировщик работать с текущей датой?

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Это правильно и является частью дизайна воздушного потока. Если вы посмотрите здесь , вы увидите объяснение:

Обратите внимание, что если вы запустите группу обеспечения доступности баз данных с параметром schedule_interval, равным одному дню, запуск с отметкой 2016-01-01 будет запущен вскоре после 2016-01-01T23: 59. Другими словами, экземпляр задания запускается после окончания периода, который он охватывает.

Давайте повторим это Планировщик запускает вашу работу один schedule_interval ПОСЛЕ даты начала, в КОНЦЕ периода.

0 голосов
/ 02 июля 2018

Ваш schedule_interval равен schedule_interval='20 40 * * *'. Помните, что schedule_interval в формате CRON, или (Минутный час, день (месяц), Месяц, день (неделя). Таким образом, ваше текущее расписание фактически неверно, так как планировщик не может запускаться каждые 40 часов. Хотите? сделать так, чтобы он работал на 40-й минуте каждые 20 часов? Если это так, попробуйте schedule_interval='40 20 * * *'.

Кроме того, установите catchup на catchup=False, если хотите, чтобы он работал в самый последний день. С обоими этими исправлениями это должно работать. Для получения дополнительной справки CRON см. Этот сайт.

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