sorentwo

sorentwo

Oban Core Team

Oban Training 101 (self-published) (interactive tutorial) (free)

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

Most Liked

sorentwo

sorentwo

Oban Core Team

This is entirely oriented to the free version. The only mentions of Pro are in the various animal images (they are from stickers we gave away at the conference).

arubis

arubis

This is exactly the sort of learning resource that I find most personally effective—no videos, docs linked, running code built-in and required. Fabulous work, thank you!

Where Next?

Popular in Courses Top

AstonJ
Looks neat :023: by @caike LEVEL 1 Sparks of Data Get to know Phoenix and learn how to read existing data from the database. ...
New
arrowsmith
Hi, I’m George Arrowsmith - you may remember me from such educational Elixir content as Phoenix on Rails. I’m really pleased to announce...
New
AstonJ
Your Video Guide to Elixir Learn one of the best new programming languages with in-depth, step by step screencasts.
New
AstonJ
You’re a programmer, so you don’t need spoon feeding with the conventional drivel about “this is an integer.” No. You need to know what’s...
New
zkessin
Hi All I have a new email course to introduce people to GenServers, which I think will be useful for those trying to get up to speed with...
New
sorentwo
The Oban Training 101 curriculum is extracted from our in-person training from ElixirConf 2023. It’s designed to teach everything you nee...
New
DmytroNasyrov
Hey folks! A brand new course about distributed systems and microservices. The course is recorded based on my offline lectures for stude...
New
WilBarrios
By: Wilfredo Barrios (Coding5s) Short description: The Coding5s Interactive Lab is a free, open-source, and interactive way to learn El...
New
JEG2
If you don’t make it past the first sentence of this post, here’s what you need to know: I’ve published a free Livebook guide about data...
New
AstonJ
By @elbrujohalcon Course Overview There is a language that powers 90% of all Internet traffic. It’s also the language behind some extre...
New

Other popular topics Top

9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I fore...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New

We're in Beta

About us Mission Statement