Oban Training

repository·main·Indexed 42 days ago

https://github.com/oban-bg/oban_training

An open-source curriculum extracted from ElixirConf 2023 designed to teach developers how to use Oban, a background job system for Elixir, using Livebook. The training covers architecture, job management, worker behavior, uniqueness, concurrency, and production readiness.

Tokens
470
Snippets
1
Records
2
Agent score
2%

What's inside Oban Training

  1. Oban Training Curriculum Overview

    main

    The Oban Training curriculum covers the full lifecycle of using Oban, a background job system for Elixir. The training is structured into the following modules:

    • Architecture & Fundamentals: High-level overview, terminology, and core concepts.
    • Setup: Installing Oban, running migrations, configuring for tests, and verification.
    • Job Management: Creating worker modules, enqueuing jobs, scheduling future jobs, and testing enqueues.
    • Worker Behavior: Controlling behavior via return values, testing functionality, managing retry backoff, and setting execution timeouts.
    • Uniqueness & Lifecycle: Ensuring job uniqueness, cancelling/retrying jobs, handling unique conflicts, and draining queues for testing.
    • Scheduling & Concurrency: Running scheduled jobs, managing multiple queues/concurrency, and pausing/resuming queues.
    • Advanced Operations: Deprioritizing jobs, bulk insertion, recursive enqueuing, and asserting job content.
    • Production Readiness: Pruning old jobs, rescuing stopped jobs, Telemetry instrumentation, and error reporting.
  2. Install and set up Oban Training

    main

    To begin the Oban Training curriculum, you need to set up a local environment with Livebook and PostgreSQL. The training is delivered via a Livebook notebook (.livemd file) and is designed to be accessible even with minimal Elixir experience.

    Prerequisites

    • Livebook: Install version 0.12 or higher recommended.
    • PostgreSQL: Install version 15 or higher recommended.

    Setup Steps

    1. Clone this repository to your local machine.
    2. Open the start.livemd file using Livebook to access all lessons and exercises.
    # Example workflow
    git clone https://github.com/oban-bg/oban-bg/oban_training.git
    # Then open start.livemd in Livebook