The Oban Training 101 curriculum is extracted from our in-person training from ElixirConf 2023. It’s designed to teach everything you need to know from getting started with Oban through deploying to production.
The course is open source and entirely built with LiveBook.
Course Outline
Section 0
- Why use Oban?
- A high level overview of the architecture
Section 1
- Installing Oban into an application
- Running migrations
- Configuring for tests
- Verifying Oban is running and configured properly
Section 2
- Creating worker modules
- Enqueueing jobs
- Scheduling jobs to run in the future
- Asserting jobs are enqueued in tests
Section 3
- Controlling worker behaviour with return values
- Testing worker functionality
- Managing retry backoff
- Providing execution timeouts
Section 4
- Ensuring uniqueness
- Cancelling and retrying jobs
- Replacing fields on unique conflicts
- Draining queues for integration testing
Section 5
- Running jobs on a schedule
- Managing multiple queues and concurrency
- Pausing and resuming queues
- Validating configuration changes
Section 6
- Deprioritizing jobs
- Inserting multiple jobs at once
- Recursively enqueuing jobs
- Asserting the content of all enqueued jobs
Section 7
- Pruning older jobs
- Rescuing unexpectedly stopped jobs
- Logging and instrumenting with Telemetry
- Reporting errors