Agent Architecture and Orchestration
Interrupt and Resume — Stack
Interrupt and resume › Stack
Technology landscape as of 2026-10-10. Knowledge cutoff May 2026.
Selection criteria
You are choosing how much a paused run costs to hold and how faithfully it comes back.
- Cost of waiting. Whether a suspended run occupies a process, a connection, and memory, or nothing at all until it is woken.
- Granularity of the stopping point. Whether a run can be stopped anywhere or only at declared boundaries, and how long an in-progress step delays the stop.
- Snapshot completeness. Whether the mechanism captures everything needed to continue, including applied effects, or only the parts it happens to know about.
- Wake-up sources. Whether a run can be resumed by a timer, a webhook, a human action in another system, or only by a direct call.
- Code versioning. Whether a run paused before a deployment can resume on the new code, and what the mechanism does when it cannot.
- Replay fidelity. Whether continuation reconstructs the same state the original run had, and what non-determinism it tolerates.
- In-flight handling. Whether outstanding calls are cancelled, awaited, or abandoned when the stop is requested.
- Suspension expiry. Whether paused runs can be aged out automatically with a defined terminal outcome.
Options
| Option | Best for | Watch out for |
|---|---|---|
| Durable workflow engines with replay (Temporal, Restate, Azure Durable Functions) | Pauses measured in hours or days with timers and external signals as native concepts | Determinism rules constrain the code; versioning runs that are paused across a deployment is a discipline of its own |
| Callback-token patterns (Step Functions task tokens and equivalents) | Waiting on a human or an external system without holding any compute | The token must be stored, matched, and expired by you; a lost token is a run that waits forever |
| Framework checkpointing with explicit interrupt points | Agent graphs where a human decision is part of the designed flow | Checkpoint contents are framework-shaped; a library upgrade can strand runs paused under the old format |
| Explicit state machine persisted per step | Teams wanting full control and no new infrastructure | Every stopping point must be hand-written, and the applied-effects record is easy to forget |
| Queue plus correlation identifier | Asynchronous continuation where the pause is naturally an awaited message | Nothing enforces that a correlation ever arrives; expiry and dead-lettering must be designed in |
| Process-level checkpointing (CRIU, container or microVM snapshots) | Resuming arbitrary in-progress computation with no code changes | Captures memory, not meaning; open sockets, expired credentials, and already-applied effects are unresolved |
| Session store with stateless re-entry | Conversational pauses where the state is small and the run is cheap to reconstitute | Reconstruction drift: the rebuilt context is similar to the original rather than identical |