finds.dev← search

// the find

oban-bg/oban

★ 3,978 · Elixir · Apache-2.0 · updated Sep 2026

💎 Robust job processing in Elixir, backed by modern PostgreSQL, SQLite3, and MySQL

Oban is a background job processing library for Elixir that stores jobs directly in your existing PostgreSQL, MySQL, or SQLite database instead of requiring Redis or a separate queue service. It's aimed at Elixir/Phoenix teams who want transactional job enqueueing (commit a job insert in the same transaction as the rest of your business logic) and don't want another piece of infrastructure to operate.

No Redis dependency — jobs live in your primary DB, so backups, transactions, and ops surface area stay simple. Jobs are never deleted after completion by default, giving you a real audit trail and historic metrics instead of a queue that forgets everything once a job finishes. Queue-level isolation (separate concurrency limits per queue, one dedicated process per job) means a slow queue can't starve a fast one. The test suite is unusually thorough for this category — separate coverage for each engine (basic/dolphin/lite), each peer election strategy, and each notifier implementation, which matches the maturity you'd want from something sitting on your critical path.

The genuinely 'enterprise grade' features the README leads with — global concurrency, global rate limiting, workflows, batches, dynamic plugin config — are all locked behind the paid Oban Pro license, not in this repo. What you get here is solid but more basic than the marketing implies. It's Elixir-only, so it's a non-starter if you're not already on the BEAM. The MySQL and SQLite engines are explicitly called out in the README as having 'differing levels of maturity' for production — Postgres is clearly the first-class citizen and the others need scrutiny before you rely on them. Because jobs persist by default, an unconfigured or misconfigured Pruner plugin means your jobs table grows without bound, which is an easy footgun for a new adopter.

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 →