Introdução ao Apache Airflow em Python
Mike Metzger
Data Engineer
schedulerunningfailedsuccess

Ao agendar um Dag, observe:
start_date - Data/hora inicial para agendar o Dagend_date - Opcional; quando parar de criar novas execuçõesstart_date e end_date usam um objeto datetime(year, month, day), por exemplo: from pendulum import datetime
start_date=datetime(2026, 4, 10, tz="UTC")
schedule indica:
start_date e end_datecron, presets embutidos ou timedeltas.
* significa executar em todo intervalo (ex.: todo minuto, todo dia)
0 12 * * * # Executa diariamente ao meio-dia
* * 25 2 * # Executa a cada minuto em 25 de fevereiro
0,15,30,45 * * * * # Executa a cada 15 minutos
Preset:
equivalente cron:
0 * * * *0 0 * * *0 0 * * 00 0 1 * *0 0 1 1 *O Airflow tem três presets especiais de schedule:
None - Nunca agenda; para Dags acionados manualmente@once - Agenda só uma vez@continuous - Executa assim que a execução anterior terminapendulum.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"
)
Ao agendar um Dag, o Airflow:
start_date + schedule'start_date': datetime(2026, 2, 25, tz="UTC")
'schedule': @daily
O primeiro horário para executar o Dag é 26 de fevereiro de 2026
Introdução ao Apache Airflow em Python