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!

belaustegui

belaustegui

This is amazing. Thanks!

Where Next?

Popular in Courses Top

mikeclark
Howdy Everyone, :waving_hand: TLDR: Early access to our Phoenix LiveView course is now open… and it’s free! The first 7 videos (75 minut...
New
AstonJ
New, from @danielberkompas Learn how to build fast, dependable web apps with Phoenix in this series of in-depth, step by step screenc...
New
CodeSync
If you’re joining us for Code BEAM Europe, you can enhance your experience with specialized training sessions. With small groups and the...
New
RafaelCamarda
Hello Guys. I have always missed good Elixir and Phoenix content in my own language (Portuguese). Because of that, I have decided to cr...
New
kpanic
https://pragprog.com/screencast/v-roerlang/modern-erlang-for-beginners An in-depth introduction to coding with Erlang, a general-purpos...
New
learn-elixir.dev
At Learn-Elixir.dev we help developers master Elixir via mentorship and course content: Exclusive curated content covers the beginner,...
New
Oxyrus
Has anyone seen this course so far? https://app.pluralsight.com/library/courses/elixir-getting-started
New
AstonJ
Grox.io looks really nice and I love that they’re doing a Joe Armstrong tribute :heart: Bruce Tate (@redrapids) has put together a team ...
New
alvises
Hi everyone, I’ve started releasing these LiveView lessons (videos and articles), which are free extracts taken from the bigger course B...
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

Other popular topics Top

belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
peerreynders
Manning 2016 Halloween weekend sale via Deal of the Day Friday, October 28 - Half off all MEAPs - code WM102816LT Saturday, October 29 ...
326 29600 154
New
chrisalley
ExUnit now has describe blocks which is a welcome addition coming from RSpec. In the docs, it states that nested hierarchies of describe ...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
polypush135
As many of you may have realized by now (sorry for all the posts here) I’ve been working on a db problem where I’m trying to aggregate a ...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? https://hexdocs.pm/ecto/Ecto.Repo.h...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New

We're in Beta

About us Mission Statement