Добрый день!
У меня есть DAG который обращается к api и делает выгрузку за день. api ограничивает:
1) по кол-ву обращений в день
2) по кол-ву выгружаемых строк за запрос
Мне нужно выгрузить исторические данные, для этого я создал таски за нужный период и передаю нужную дату через execution_date
Проблема:
Если я упираюсь в лимит запросов, я получаю ошибку на сервере и как следствие dag становиться failed, и при этом он продолжает стартовать таски за следующие дни, которые соответсвенно тоже фейляться.
Как я думаю это можно решить:
1) Добавить проверку что задача за предыдущий день в этом даге завершена
2) Поставить ограничение на только одну попытку запуска задачи в сутки
3) Каким-то образом при новом дне запускать failed таски заново
Вопрос:
Если с первыми двумя пунктами я понимаю, как мне найти это в мануале, то с третьим я честно теряюсь. Может быть кто-то может посоветовать,
Я частично покрыл проблему тем, что а) добавил репортинг об ошибках в даг, который грузит данные; и б) написал Даг, который стартует зафейленные даги в случае, если соблюдается ряд условий, как-то: время ежедневной выгрузки не подошло, ничего не загружается прямо сейчас, число ошибок не превышает какое-то количество