Overview

🌟 Oban.Pro is a collection of plugins, workers and extensions that improve Oban's reliability even further and make difficult workflows possible. It is provided as a separate package and is available through a paid license.

Explore what's available below, or get started with installation.

extensions

Extensions

smart-engine

🚄 Smart Engine

An extension that enables truly global concurrency, global rate limiting, partitioned rate limiting, 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 and await the results of jobs 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.

plugins

Plugins

dynamiccron

DynamicCron

Configure cron scheduling at runtime, globally, across an entire cluster.

dynamiclifeline

🛟 DynamicLifeline

Rescue orphaned jobs reliably, without the possibility of duplicate execution.

dynamicpruner

✂️ DynamicPruner

Delete completed or exhausted jobs based on configurable limits with detailed overrides.

dynamicqueues

🎢 DynamicQueues

Configure queues at runtime, persist changes across restarts, and optionally limit queues to certain nodes.

reprioritizer

📉 Reprioritizer

Automatically adjust job priorities to prevent queue starvation and ensure all jobs are eventually processed.

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.