DE//AGENT
Explore

The orchestration mental model — DAGs, schedules, idempotency, backfills

Build the map before touching code: a DAG plus its schedule decides when runs happen, the idempotency test decides whether re-runs are safe, catchup decides what happens to missed intervals, and a backfill decides how history gets fixed — four decisions every later lesson sharpens.

At a glance

When Designing your first recurring pipeline; Onboarding onto a codebase full of scheduled DAGs
Where Airflow / Orchestration
Why Orchestration is four decisions — what runs, when it runs, whether re-runs are safe, and how history gets fixed — and every later lesson sharpens one of them.

Learning objectives

  • Name the four decisions orchestration makes — schedule, catchup, idempotency, backfill
  • Apply the idempotency test to a task before running anything
  • Say what a backfill is for and why it is dangerous

What you need

  • An Airflow project to reason about — real or planned
  • The pipeline's schedule and SLA
  • The Airflow documentation at airflow.apache.org/docs

Steps

  1. Airflow's documentation covers DAG authoring, scheduling semantics and timetables, backfills and catchup, task state and retries, dynamic task mapping, and best practices — that list is the map of orchestration. (from ref-airflow-docs )
  2. Read the scheduling and best-practices pages before designing any recurring pipeline — they answer the idempotency and backfill questions the skills only sketch. (from ref-airflow-docs )
  3. Set `catchup` as a deliberate choice, not a default. (from skill-airflow-dag-reviewer )
  4. Hold every task to the idempotency test — "If this task runs twice for the same logical date, is the output the same?" (from skill-airflow-dag-reviewer )
  5. If no, fix it before anything else — retries will happen. (from skill-airflow-dag-reviewer )
  6. A backfill exists because historical output is wrong or missing and must be recomputed safely, without breaking production. (from runbook-backfill-required )
  7. Respect its blast radius — backfills corrupt production or take down the daily run. (from pattern-backfill-safety )

Check yourself

  • You can say what a DAG, a logical date, `catchup` and a backfill each decide about a pipeline.
  • Asked whether a task is safe to re-run, you reach for the idempotency test instead of a guess.
  • Given a wrong historical date range, you name the backfill runbook before touching anything.

Worked example

The idempotency test — from skill-airflow-dag-reviewer

"If this task runs twice for the same logical date, is the output the same?"
If no, fix it before anything else — retries will happen.

What the Airflow docs cover — from ref-airflow-docs

DAG authoring, scheduling semantics and timetables, backfills and catchup,
task state and retries, dynamic task mapping, and best practices.

Sourced from

Security scan

Last sweep 2026-10-24: 0 finding(s), 0 marked as examples.

Common gotchas

  • `catchup` is a deliberate choice, not a default.
  • Retries will happen — fix a task that is not idempotent before anything else.
  • Backfills corrupt production or take down the daily run when run unmanaged.

Production considerations

  • The scheduling and best-practices pages answer the idempotency and backfill questions the skills only sketch.
  • Keep pipelines idempotent so a backfill is a routine operation.

Diagram

orchestration mental model
   |
   |- DAG + schedule + catchup --> when runs happen
   |
   |- idempotency test --> whether re-runs are safe
   |
   |- backfill + shadow swap --> how history gets fixed

Registry stats

Verification community · Oct 23, 2026
Completeness 81
Trust multiplier ×1.25
Composite 34.15 · adequate
Freshness 1 days since last source check
Difficulty beginner
Version 0.1.0
License CC-BY-4.0
Security flags none