oban v2.0.0-rc.2 Release Notes

Release Date: 2020-06-23 // almost 4 years ago
  • ๐Ÿ’ฅ Breaking Changes

    • [Oban] The interface for pause_queue/2, resume_queue/2 and scale_queue/3 now matches the recently changed start_queue/2 and stop_queue/2. All queue manipulation functions now have a consistent interface, including the ability to work in :local_only mode. See the notes around start_queue/2 and stop_queue/2 in [2.0.0-rc.1][] for help upgrading.

    • [Oban] Replace drain_queue/3 with drain_queue/2, which now has an interface consistent with the other *_queue/2 operations.

    Where you previously called drain_queue/2,3 like this:

    ```elixir
    Oban.drain_queue(:myqueue, with_safety: false)
    ```
    

    You'll now it with options, like this:

    ```elixir
    Oban.drain_queue(queue: :myqueue, with_safety: false)
    ```
    

    ๐Ÿ›  Fixed

    • [Oban.Breaker] Prevent connection bomb when the Notifier experiences repeated disconnections.

    • ๐Ÿ‘ท [Oban.Queue.Executor] Fix error reporting when a worker fails to resolve.

    • ๐ŸŒฒ [Oban.Telemetry] Stop logging the :error value for circuit trip events. The error is a struct that isn't JSON encodable. We include the normalized Postgrex / DBConnection message already, so the error is redundant.

    โž• Added

    • โฑ [Oban.Crontab] Add @reboot special case to crontab scheduling

    • โฑ [Oban.Telemetry] Add new :producer events for descheduling and dispatching jobs from queue producers.

    โœ‚ Removed

    • ๐Ÿšš [Oban] Removed Oban.kill_job/2, which wasn't as flexible as Oban.cancel_job/2. Use Oban.cancel_job/2 instead to safely discard scheduled jobs or killing executing jobs.