Oban Pro#
Oban Pro is a licensed add-on for the Oban job orchestration framework. It provides extensions that expand what Oban is capable of while making complex workflows possible.
Get started with installation, learn how to transition from OSS to Pro with adoption, then explore the features below.
Operations#
Configure how Pro runs, without changes to your workers.
Drop-In Optimizations#
Install Pro and your application automatically benefits from bulk inserts, bulk acking, and accurate orphan rescue—no code changes required. Learn more →
Multi-Process Execution#
Bypass the GIL and utilize multiple CPU cores for CPU-intensive workloads. Just switch from
oban start to obanpro start. Learn more →
Erlang Notifier#
Replace Postgres pub/sub with direct communication between processes. Works with transaction poolers, without a payload size limit, and keeps notifications out of the database. It uses the Distributed Erlang protocol to interop with Oban in Elixir, but doesn’t require Erlang or Elixir. Learn more →
Smart Concurrency#
Control job execution with global concurrency limits across all nodes, rate limiting (e.g., 60 jobs/minute), and partitioned queues that apply limits per worker, tenant, or any argument. Learn more →
Pro Pruner#
Replace the standard pruner with fine-grained retention rules per queue, worker, or state. Prune on a cron schedule, manage rules at runtime, and archive jobs rather than deleting them. Learn more →
Jobs#
Extend what an individual job can do.
Unique Jobs#
Prevent enqueueing duplicate jobs based on worker, args, queue, or specific keys. Configure time windows and detect conflicts. Learn more →
Relay#
Dispatch jobs and wait for their results with synchronous-style semantics. Perfect for request/response workflows and service coordination. Learn more →
Awaiting Signals#
Pause a job mid-execution to wait for an external decision and resume when a signal arrives. Perfect for human approval flows, third-party callbacks, and durable state machines. Learn more →
Composition#
Coordinate many jobs together.
Workflows#
Compose jobs together for durable workflows with fault-tolerant execution patterns. Supports sub-workflows, automatic result passing, and runtime grafting for dynamic pipelines. Learn more →
Chunks#
Process jobs together in groups based on a size or wait time, e.g. 1,000 jobs or every 10 seconds. Partition chunks by worker, args, or meta, and apply outcomes to individual jobs. Learn more →
Getting Started
Operations
Jobs
Upgrading