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
overriddenWorker.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 theOban.Testing.perform_job/3
spec.