Airflow: Cron vs Data Intervals vs Timetables
- Gilmar Pupo
- 25 de set.
- 2 min de leitura
Quando falamos de agendamento no Airflow, três conceitos parecem iguais à primeira vista, mas têm diferenças importantes: cron, data intervals e timetables. Entender isso é chave para evitar confusão com execuções, atrasos e backfills.
🔹 Cron e Data Intervals
Cron / Schedule (@daily, @hourly, etc.)Define quando o DAG roda. Mas cuidado: a execução sempre processa o intervalo anterior.👉 Exemplo: execução em 02/01 00:00 cobre os dados de 01/01 00:00 → 02/01 00:00.
Data IntervalsCada run tem data_interval_start e data_interval_end, delimitando exatamente o período de dados coberto.A logical date (data lógica) corresponde ao início do intervalo — o que pode ser confuso, já que não é o mesmo que o horário real de execução.
🔹 Timetables
CronDataIntervalTimetableAssocia o cron a um intervalo de dados (clássico e mais comum).
CronTriggerTimetableApenas dispara no horário configurado, sem se preocupar com intervalos. Útil para execuções pontuais ou personalizadas.

Método | Foco | Quando roda | Intervalo coberto |
schedule (cron) | Processar intervalo anterior | Após fechar intervalo | Ex: 01/01 00:00 – 02/01 00:00 |
Data Intervals | Delimitar início e fim de dados | Após intervalo | Marcado por start e end |
CronTriggerTimetable | Apenas trigger no horário exato | No horário definido | Nenhum (execução “pontual”) |
✅ Use cron + data intervals para jobs de dados consistentes e backfills.✅ Recorra a custom timetables só em casos especiais (intervalos irregulares, múltiplos horários, etc.).
⏰ Cron (o relógio que dispara)
👉 Pense no despertador do celular.Você configura para tocar às 7h da manhã. Mas o que você faz às 7h é em função de tudo que aconteceu antes (dormir, descansar, sonhar). O alarme é só o gatilho.
📅 Data Intervals (o período que importa)
👉 Imagine o extrato bancário diário.Quando você olha o extrato do dia 02/01, ele mostra tudo o que aconteceu no dia 01/01. O relatório é emitido depois que o intervalo fechou, cobrindo o período completo.
🎯 CronTriggerTimetable (execução pontual)
👉 Como pedir um Uber na hora.Você não está olhando para o “intervalo de ontem” nem para dados históricos, só quer um carro naquele exato momento. É um trigger instantâneo, sem preocupação com passado ou futuro.



Comentários