The Oban Training curriculum is extracted from our in-person training from ElixirConf 2023. It's designed to teach everything you need to know to get started with Oban, a background job system for Elixir.
Training is open source and built with Livebook.
This course is intended to be approachable to developers with minimal Elixir background.
Clone this repository to your local computer. Then open the start.livemd
file to see all lessons
and exercises.
See start.livemd
for a full breakdown of our lessons and exercises.
- Where we convince you that using Oban is a good idea
- Not really. It's where we'll give a high level overview of the architecture
- Terminology, how things work
- Installing Oban into an application
- Running migrations
- Configuring for tests
- Verifying Oban is running and configured properly
- Creating worker modules
- Enqueueing jobs
- Scheduling jobs to run in the future
- Asserting jobs are enqueued in tests
- Controlling worker behaviour with return values
- Testing worker functionality
- Managing retry backoff
- Providing execution timeouts
- Ensuring uniqueness
- Cancelling and retrying jobs
- Replacing fields on unique conflicts
- Draining queues for integration testing
- Running jobs on a schedule
- Managing multiple queues and concurrency
- Pausing and resuming queues
- Validating configuration changes
- Deprioritizing jobs
- Inserting multiple jobs at once
- Recursively enqueuing jobs
- Asserting the content of all enqueued jobs
- Pruning older jobs
- Rescuing unexpectedly stopped jobs
- Logging and instrumenting with Telemetry
- Reporting errors