Upgrading to v1.0

If your Pro version is behind v0.14, then the best method is to upgrade to Pro v0.14 and address any lingering deprecation warnings.

You're ready to move on once you've handled older deprecation warnings!

Smart Engine

The SmartEngine moved into an Engines namespace for parity with Oban's engines. Rename any SmartEngine instances in your configuration:

- engine: Oban.Pro.Queue.SmartEngine
+ engine: Oban.Pro.Engines.Smart

Reference the Smart engine docs in their new home under the modules tab.

Structured Worker

The structured: ... option for defining the expected argument structure was replaced with args_schema in Pro v0.14. The translation mechanism that converted structured options into the corresponding args_schema is removed in v1.0, and you must update any structured workers:

- use Oban.Pro.Worker, structured: [keys: [:id, :account_id], required: [:id]]
+ use Oban.Pro.Worker
+
+ args_schema do
+   field :id, :id, required: true
+   field :account_id, :id
+ end

The args_schema syntax is far more robust than the old structured: ... keyword mechanism, so take some time to explore the Structured Jobs docs.

Deprecation Cleanup

The following deprecated modules are now fully removed:

  • Oban.Pro.Plugins.BatchManager Removed, you can delete it from your supervision tree.
  • Oban.Pro.Plugins.Relay Renamed to Oban.Pro.Relay, not needed in your supervision tree.
  • Oban.Pro.Notifiers.PG Moved to Oban core, use Oban.Notifiers.PG instead.
  • Oban.Pro.Plugins.Lifeline Renamed to Oban.Pro.Plugins.DynamicLifeline.
  • Oban.Pro.Plugins.Reprioritizer Renamed to Oban.Pro.Plugins.DynamicReprioritizer.
  • Oban.Pro.Testing The process_job/3 alias for perform_job/3 was removed.