Back to Oban

Upgrading to v2.17

guides/upgrading/v2.17.md

2.22.11.6 KB
Original Source

Upgrading to v2.17

This Oban release includes an optional, but recommended migration.

Prevent Duplicate Insert Notifications {: .warning}

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:

elixir
[
  {: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:

bash
$ mix ecto.gen.migration upgrade_oban_jobs_to_v12

Within the generated migration module:

elixir
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:

diff
 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:

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