top of page

Airflow: Cron vs Data Intervals vs Timetables


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.

ree

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


bottom of page