Sidekiq v6.0 Release Notes

  • 🚀 This release has major breaking changes. Read and test carefully in production.

    • 🔧 With Rails 6.0.1+, ActiveJobs can now use sidekiq_options directly to configure Sidekiq features/internals like the retry subsystem. [#4213, pirj] ruby class MyJob < ActiveJob::Base queue_as :myqueue sidekiq_options retry: 10, backtrace: 20 def perform(...) end end
    • 🌲 Logging has been redesigned to allow for pluggable log formatters: ruby Sidekiq.configure_server do |config| config.log_formatter = Sidekiq::Logger::Formatters::JSON.new end 👀 See the Logging wiki page for more details.
    • 💥 BREAKING CHANGE Validate proper usage of the REDIS_PROVIDER variable. This variable is meant to hold the name of the environment variable which contains your Redis URL, so that you can switch Redis providers quickly and easily with a single variable change. It is not meant to hold the actual Redis URL itself. If you want to manually set the Redis URL (not recommended as it implies you have no failover), then you may set REDIS_URL directly. [#3969]
    • 💥 BREAKING CHANGE Increase default shutdown timeout from 8 seconds to 25 seconds. Both Heroku and ECS now use 30 second shutdown timeout by default and we want Sidekiq to take advantage of this time. If you have deployment scripts which depend on the old default timeout, use -t 8 to get the old behavior. [#3968]
    • 💥 BREAKING CHANGE Remove the daemonization, logfile and pidfile arguments to Sidekiq. Use a proper process supervisor (e.g. systemd or foreman) to manage Sidekiq. See the Deployment wiki page for links to more resources.
    • ↔ Integrate the StandardRB code formatter to ensure consistent code styling. [#4114, gearnode]