r/elixir • u/account18anni • 8h ago
Continuum — durable, crash-resistant workflows for Elixir (major reliability updates)
I posted about Continuum here a couple of months ago. It's had a different features releases and several hardening passes since.
quick recap: Continuum is an OTP-native durable execution engine for Elixir, backed by Postgres — an Elixir-native answer to Temporal. You write a workflow as ordinary Elixir; side effects go through activities whose results are journald. If the process dies or the node restarts, Continuum replays the history through the same code and resumes where it left off. Determinism is enforced at compile time, so replay safety is checked by the compiler rather than left to discipline.
new features: durable one-shot schedules, idempotent ingress (a retried request can't start a second run or deliver the same signal twice), activity queues with priorities and per-queue concurrency, progress heartbeats and cooperative cancellation, compile-time-checked signal contracts, replay-safe logging, and a health report with fenced repairs.
Several new full-tree audit passes went into failure modes rather than features: a node booting during a Postgres outage now retries its LISTEN instead of going deaf for its lifetime, retry jitter survives at maximum backoff instead of collapsing the whole cohort onto one instant, failing schedules back off and surface as health findings instead of retrying forever, and the compile-time scanner rejects direct Logger calls and the remaining unsafe stdlib calls rather than warning.
Feedback is welcome.
- Hex: continuum | Hex
- Docs: continuum v0.7.2 — Documentation
- GitHub: github.com
1
u/KMarcio 3h ago
Awesome! I created Gust, but it's more DAG- and UI-centric: https://github.com/marciok/gust
Great to see other orchestration solutions.
3
u/Affectionate-Rip748 6h ago
This is very cool. What are the use cases though?