Oban is a job queue and background job processor for Elixir applications that stores jobs in PostgreSQL, MySQL, or SQLite3 databases.
The tool solves the problem of reliable background job processing by leveraging your existing SQL database as the job store rather than introducing a separate message broker. This approach eliminates an external dependency, enables transactional guarantees so jobs can be enqueued atomically with other database changes, and ensures jobs are backed up alongside your application data. Jobs are retained indefinitely for historical metrics and inspection, preventing data loss even if the application crashes. Each job runs in an isolated process for concurrent execution and clean isolation between tasks.
Oban suits any Elixir application that already runs on a SQL database and needs reliable job processing without additional infrastructure. It is particularly valuable for systems where job data retention and auditability matter, where transactional consistency between jobs and application state is required, or where minimizing external dependencies is a priority. The tool provides isolated queues that can be controlled independently at runtime, including across multiple nodes, and supports pausing, resuming, and scaling queues without restarting the application.
The maintainers respond to issues and pull requests within a day. Work in the issue tracker centers on bug fixes and activity across both the open-source and commercial product offerings.