Your team runs a Cloud Composer 2 environment that processes financial data. A critical DAG must run exactly once per day at 02:00 UTC, and the Airflow scheduler must not backfill missed runs from the previous week when the DAG is unpaused. You need to configure the DAG so that only future scheduled runs execute. What should you set in the DAG definition?
Setting catchup=False tells the Airflow scheduler to skip all historical intervals that elapsed before the DAG was enabled, so only runs from the current time forward are created. Combined with the cron expression '0 2 * * *', the DAG fires daily at 02:00 UTC without backfilling the previous week. This directly satisfies the requirement of no historical runs.
Why this answer
The requirement is a daily 02:00 UTC run with no historical backfill. In Cloud Composer, catchup=False suppresses the creation of runs for intervals that elapsed before the DAG was enabled, while the cron schedule controls future timing. Other parameters such as max_active_runs or start_date adjustments do not disable backfill, and schedule=None removes the automatic cadence entirely.
Exam trap
The trap here is assuming that changing start_date or limiting concurrency prevents backfill, when only catchup=False disables historical run creation.