Belay: a Postgres-backed durable job engine for Elixir (step-level retries, budgets, Oban migrator)
Belay runs background jobs as sequences of memoized steps. When a job retries, it reads the finished steps back from the journal and continues from the first one that did not complete, so a crash halfway through does not repeat earlier work or the API calls it already paid for.
It also handles per-job spend budgets, human-in-the-loop waits, workflow DAGs, and a built-in dashboard, with Postgrex, Jason, and telemetry as the only dependencies (no Ecto or Redis). If you are on Oban, workers convert with small changes and mix belay.migrate_oban moves your pending jobs. Apache-2.0, currently at 1.0.0-rc.
Read next Monolith juice that looks like Lambda and tastes like fast booting machines
