Можно ли с помощью Airflow перезапустить задачу вверх по потоку, если задача внизу не выполняется? Это, кажется, противоречит «ациклической» части термина DAG. Я думаю, что это общая проблема.
Фон
Я изучаю использование Airflow для управления рабочим процессом обработки данных, который управлялся вручную.
Существует задача, которая не будет выполнена, если параметр x установлен слишком высоко, но увеличение значения параметра дает более качественные результаты. Мы не нашли способ рассчитать безопасный, но максимально высокий параметр x. Ручной процесс состоял в том, чтобы перезапустить задание в случае сбоя с более низким параметром, пока оно не заработало.
Рабочий процесс выглядит примерно так:
Задача A - Сбор необработанных данных
Задача B - Создать файл конфигурации для задания
Задача C - Изменить параметр файла конфигурации x
Задача D - Запуск задания по обработке данных
Задача E - Обработка результатов работы
Задача F - Создание отчетов
Выпуск
Если задача D не выполнена из-за слишком высокого параметра x, я хочу повторно запустить задачу C и задачу D. Похоже, это не поддерживается. Я был бы очень признателен за советы о том, как справиться с этим.