oban v2.8.0 Release Notes

Release Date: 2021-07-30 // over 2 years ago
  • ⏱ Time Unit Scheduling

    ⏱ It's now possible to specify a unit for :schedule_in, rather than always ⏱ assuming seconds. This makes it possible to schedule a job using clearer ⏱ minutes, hours, days, or weeks, e.g. schedule_in: {1, :minute} or ⏱ schedule_in: {3, :days}.

    🔄 Changed

    • ✅ [Oban.Testing] Accept non-map args to perform_job/3 for compatibility with overridden Worker.new/2 callbacks.

    • ⏱ [Oban.Queue.Producer] Include some jitter when scheduling queue refreshes to prevent queues from refreshing simultaneously. In extreme cases, refresh contention could cause producers to crash.

    🛠 Fixed

    • ⏪ [Oban.Queue.Executor] Restore logged warnings for unexpected job results by retaining the safe flag during normal execution.

    • 🔌 [Oban.Plugins.Gossip] Catch and discard unexpected messages rather than crashing the plugin.

    • ✅ [Oban.Testing] Eliminate dialyzer warnings by including repo option in the Oban.Testing.perform_job/3 spec.