Skip to content
02 Workflows and Agents

Batch orchestration is not durable execution

Constantly conflated. The tell is the time axis.

Lesson 03 of 06 · 6 min

DAG orchestrators and durable execution engines get discussed as if they were competitors. They solve different problems, and picking the wrong one produces the worst of both.

DAG / batch orchestrationDurable execution
Unit of workA task, or an asset materializationA step in a program
Time modelScheduled intervals, backfill over a date axisEvent-driven, one execution per business entity
Control flowDeclared upfront as a graphArbitrary imperative code, including data-dependent loops
CardinalityTens of runs a day over big dataMillions of concurrent executions over single entities
WaitingSensors that pollDurable timers, zero compute while waiting
Correctness concernIdempotent tasks so backfill is safeDeterminism of orchestration, idempotency of steps

The diagnostic: if your tool's first question is "which day's data is this run for," it is a batch orchestrator. If its first question is "which invoice is this execution about," it is a durable execution engine.

Diagnose

A team runs per-invoice dunning as scheduled DAG tasks. Each night a job scans for overdue invoices and advances them. Reminders occasionally send twice, and nobody can answer "what happened to invoice 4471."

The rest of this lesson unlocks when you commit above.