Overview
π Oban.Pro is a collection of extensions, workers, and plugins that expand what Oban is capable of while making complex workflows possible.
Explore what's available below, get started with installation, or learn how to transition from OSS to Pro with adoption.
extensions
Extensions
smart-engine
π Smart Engine
An engine that enables truly global concurrency, global rate limiting, queue partitioning, unique bulk inserts, and auto insert batching.
pro-worker
π· Pro Worker
Extend the base worker with advanced options like encryption, enforced structure, and recorded output.
relay
π‘ Relay
Insert jobs and await the results across any number of nodes, i.e. persistent distributed tasks.
testing
π§ͺ Testing
Advanced helpers for testing supervised Oban instances, workers, and making assertions about enqueued jobs.
workers
Workers
batch
ποΈ Batch
Process jobs in groups while tracking overall progress across all nodes and executing optional callbacks.
chunk
πͺ Chunk
Process jobs atomically in groups based on size or timeout, with robust error handling semantics.
workflow
ποΈ Workflow
Compose workers together with arbitrary dependencies between jobs, allowing sequential, fan-out and fan-in execution.
plugins
Plugins
dynamiccron
β° DynamicCron
Configure cron scheduling before boot or during runtime, globally, across an entire cluster. An ideal solution for applications that must dynamically start and manage scheduled tasks at runtime.
dynamiclifeline
π DynamicLifeline
Rescue orphaned jobs reliably, without the possibility of duplicate execution.
dynamicprioritizer
π₯ DynamicPrioritizer
Automatically adjust job priorities to prevent queue starvation and ensure all jobs are eventually processed.
dynamicpruner
βοΈ DynamicPruner
Delete historic jobs on a flexible CRON schedule using configurable limits with per-queue, per-worker, and per-state overrides.
dynamicqueues
π’ DynamicQueues
Configure queues at runtime, persist changes across restarts, and optionally limit queues to certain nodesβideal for applications that dynamically start, stop, or modify queues at runtime.
dynamicscaler
βοΈ DynamicScaler
Horizontally auto-scale worker nodes up and down to optimize queue throughput during high traffic events, and pare back to zero or more nodes during a lull.