Введение в Apache Airflow на Python
Mike Metzger
Data Engineer
schedulerunningfailedsuccess

При планировании DAG важны следующие атрибуты:
start_date — дата и время первого запуска DAGend_date — необязательный атрибут, ограничивающий создание новых экземпляровdatetime(year, month, day), например: from pendulum import datetime
start_date=datetime(2026, 4, 10, tz="UTC")
schedule определяет:
start_date и end_datecron, встроенные пресеты или timedelta.
* означает запуск для каждого интервала (например, каждую минуту, каждый день)
0 12 * * * # Run daily at noon
* * 25 2 * # Run once per minute on February 25
0,15,30,45 * * * * # Run every 15 minutes
Пресет:
Эквивалент cron:
0 * * * *0 0 * * *0 0 * * 00 0 1 * *0 0 1 1 *В Airflow есть три специальных пресета schedule:
None — не планировать; используется для DAG с ручным запуском@once — запустить только один раз@continuous — запускать сразу после завершения предыдущего запускаpendulum.durationduration(hours=6)duration(minutes=30)from pendulum import duration
@dag(
dag_id="example_dag"
schedule=duration(days=2)
)
schedule:@dag(
dag_id="example_dag",
schedule="0 12 * * *"
)
@dag(
dag_id="example_dag",
schedule="@daily"
)
При планировании DAG Airflow:
start_date + schedule'start_date': datetime(2026, 2, 25, tz="UTC")
'schedule': @daily
Ранний возможный запуск DAG — 26 февраля 2026 г.
Введение в Apache Airflow на Python