finds.dev← search

// the find

fractaledmind/acidic_job

★ 623 · Ruby · MIT · updated Jun 2026

🧪 Durable execution workflows for Active Job

acidic_job adds durable execution workflows to Active Job — think Temporal or Step Functions but as a Rails gem using your existing Postgres. Each step's completion is checkpointed in the DB, so a retry picks up where it left off instead of re-running successful steps. Aimed at Rails shops that need multi-step distributed operations (charge Stripe, update DB, send email) to survive crashes without a separate workflow orchestrator.

The idempotency model is genuinely well-thought-out: steps only need to be idempotent on failure, not success, because completed steps are never re-run. The `ctx` persistence object solves the real problem of passing state across retries without polluting job arguments. The `transactional: true` step option lets you atomically commit both the business write and the step-completion record in one transaction, which is the right way to handle local mutations. Test setup documentation is honest about the DatabaseCleaner footgun and provides working RSpec config rather than glossing over it.

Still on a release candidate (v1.0.0.rc3) with a warning that this is a major refactor from the previous RC — adopting this now means you're on an unstable API. The `halt_workflow!` / `repeat_step!` patterns shown in the README are awkward: the delay example requires a ctx flag and the logic is split confusingly across two steps. Non-linear workflows (fan-out, parallel steps, conditional branching) aren't supported — the DSL is strictly linear, which becomes a wall fast for anything beyond a simple pipeline. Only 623 stars and 19 forks for a library asking you to build critical payment flows on top of it is a thin community to fall back on when something breaks.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →