
Continuum - a library for durable and crash-resistant workflows
Continuum is an OTP-native durable execution engine for Elixir, backed by Postgres. IIt’s an Elixir-native answer to Temporal in other ecosystems: running a multi-step business process that survives crashes, restarts, and deploys.
You can write your workflow as ordinary Elixir. Side effects go through activities, whose results are journaled on first run. If the process dies or the node restarts, Continuum resumes the workflow exactly where it left off, by replaying its event history through the same code with identical state.
Determinism is enforced at compile time. Workflow code is scanned for non-deterministic calls (time, randomness, IO, and so on), so replay safety is checked by the compiler rather than left to discipline.
On top of the core engine, Continuum provides durable timers and signals, activity retries, sagas and compensation, parent/child workflows, continue_as_new for long-running loops, workflow versioning, a LiveView observer, OpenTelemetry, and optional clustering. Activities run on a built-in worker pool by default, or on Oban if you already operate one.
- Hex: continuum | Hex
- Docs: continuum v0.6.1 — Documentation
- GitHub: github.com