Пайплайн «Гонца» выложили 8 октября с catchup=False, как и положено в Airflow 3 по умолчанию, мы это разбирали. Планировщик создал один запуск, за 7 октября. А бухгалтерии нужна вся первая неделя: с 1 октября у курьеров новые тарифы. Через месяц найдётся ошибка в чистке, и неделю придётся пересчитать снова. Прогонять DAG за прошлые даты это обычная работа дата-инженера, и у неё есть имя.
Перепечатать газету
Газета вышла с опечаткой в курсе валют, и так все семь номеров за неделю. Редакция не пишет газету заново. Она берёт номер за понедельник, правит курс и печатает тираж за понедельник, потом за вторник, и так всю неделю. Каждый номер собирается из новостей своего дня, а не сегодняшних. Иначе понедельничный номер вышел бы с новостями воскресенья.
Backfill это перепечатка газеты за прошлые дни. Airflow создаёт запуски DAG за прошлые моменты расписания, и каждый запуск обрабатывает свой день, как если бы расписание сработало тогда.
Команда
В Airflow 3 backfill выполняет сам планировщик, а создаётся он командой:
airflow backfill create --dag-id gonets_daily \
--from-date 2026-10-01 --to-date 2026-10-07
Границы включительно и считаются по logical_date. Полезные флаги:
--dry-runпечатает, какие даты будут запущены, и ничего не делает. Всегда начинай с него;--reprocess-behaviorрешает, что делать с датами, где запуск уже есть:noneпропустить (по умолчанию),failedперезапустить только упавшие,completedперезапустить все.
В статьях про Airflow 2 встречается команда airflow dags backfill. В Airflow 3 её нет.
урок из курса
Урок из курса «Data Engineering». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.