View Source Upgrading to v2.17

This Oban release includes an optional, but recommended migration.

Prevent Duplicate Insert Notifications

You must either run the v12 migrations or disable insert triggers in your Oban configuration, otherwise you'll receive duplicate insert notifications for each job.

Bump Your Deps

Update Oban (and optionally Pro) to the latest versions:

[
  {:oban, "~> 2.17"},
  {:oban_pro, "~> 1.2", repo: "oban"}
]

Run Oban.Migrations for v12 (Optional)

The v12 migration removes insert triggers and relaxes the priority column's check constraint to allow values in the new range of 0..9.

To get started, create a migration to create the table:

$ mix ecto.gen.migration upgrade_oban_jobs_to_v12

Within the generated migration module:

use Ecto.Migration

def up, do: Oban.Migrations.up(version: 12)

def down, do: Oban.Migrations.down(version: 12)

If you have multiple Oban instances, or use an alternate prefix, you'll need to run the migration for each prefix.

Disable Insert Notifications (Optional)

If you opt not to run the v12 migration to disable Postgres triggers, then you should disable insert notifications in your configuration:

 config :my_app, Oban,
+  insert_trigger: false,
   ...

Remove the Gossip Plugin

The Gossip plugin is no longer used by Oban Web and now useless. You can safely remove it from your configuration:

 config :my_app, Oban,
   plugins: [
-    Oban.Plugins.Gossip,
   ]