Oban is a robust and flexible background job processing library for Elixir, built on top of PostgreSQL and Ecto; it focuses on delivering reliability, consistency, observability, and historical insight into job execution, making it well-suited for fault-tolerant, production-grade workloads. Oban is a powerful and flexible library that can handle a wide range of background job use cases, and it is well-suited for systems of any size. It provides a simple and consistent API for scheduling and performing jobs, and it is built to be fault-tolerant and easy to monitor. Oban is fundamentally different from other background job processing tools because it retains job data for historic metrics and inspection. You can leave your application running indefinitely without worrying about jobs being lost or orphaned due to crashes.
Features
- Background job scheduling and execution via a consistent API
- Jobs persisted in PostgreSQL for durability and auditability
- Fault-tolerant with retry logic, backoff strategies, and crash recovery
- Observability with job history and heartbeat tracking for introspection
- Supports concurrent queues and worker configuration for scalability
- Easily integrates with Elixir/Ecto applications