API Reference Oban v2.10.1


Oban is a robust job processing library which uses PostgreSQL for storage and coordination.

The Config struct validates and encapsulates Oban instance state.

Wraps unhandled exits and throws that occur during job execution.

A Job is an Ecto schema used for asynchronous execution.

Migrations create and modify the database tables Oban needs to function.

The Notifier coordinates listening for and publishing notifications for events in predefined channels.

Wraps the reason returned by {:error, reason}, {:discard, reason} in a proper exception.

Periodically enqueue jobs through CRON based scheduling.

The Gossip plugin uses PubSub to periodically exchange queue state information between all interested nodes. This allows Oban instances to broadcast state information regardless of which engine they are using, and without storing anything in the database.

Periodically delete completed, cancelled and discarded jobs based on age.

Repeatedly send inserted messages to all registered producers to simulate polling.

Transition jobs to the available state when they reach their scheduled time.

Local process storage for Oban instances.

Wrappers around Ecto.Repo callbacks.

Telemetry integration for event metrics, logging and error reporting.

This module simplifies testing workers and making assertions about enqueued jobs.

Returned when a job is terminated early due to a custom timeout.

Defines a behavior and macro to guide the creation of worker modules.