Меня смущает то, что делает воздушный поток, если дагрун выходит из строя. Поведение, которого я хочу достичь:
- Регулярные триггеры DAG (ежечасно)
- Повтор для задачи
- Если задание не выполнено n попыток, отправьте электронное письмо об ошибке
- Когда сработает следующий почасовой триггер, активируйте новый дагрун, как будто ничего не вышло.
Это мои аргументы dag и аргументы задачи:
задание по умолчанию:
'depends_on_past': True,
'start_date': airflow.utils.dates.days_ago(2),
'email': ['email@address.co.uk'],
'email_on_failure': True,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
'wait_for_downstream': False,
аргументы Дага:
schedule_interval=timedelta(minutes=60),
catchup=False,
max_active_runs=1
Я думаю, что я неправильно понимаю некоторые из этих аргументов, потому что мне кажется, что если задача терпит неудачу n раз (т. Е. Происходит сбой dagrun), то следующий dagrun назначается по расписанию, а просто остается в работающем состоянии навсегда, и больше никаких dagrun'ов не бывает преуспеть (или даже получить по расписанию). например, вот дагруны (я не знал, где найти текстовые журналы планировщика, как в этот вопрос ), где даги должны запускаться каждые 5 минут, а не каждый час:
Выполнение выполняется каждые 5 минут до сбоя, после чего последнее выполнение находится только в состоянии выполнения и было так в течение последних 30 минут.
Что я сделал не так?
Я должен добавить, что перезапуск планировщика не помогает, равно как и ручная установка этой выполняемой задачи на неудачу ...