Welcome to Sidekiq 6.0

2019-09-03

I’m happy to announce that Sidekiq 6.0, Sidekiq Pro 5.0 and Sidekiq Enterprise 2.0 are now generally available after nine months of work by various contributors! 🎉🎂

No More Daemonizing

Sidekiq 6.0 no longer offers the ability to run as an circa-1990s init.d-style daemon by removing the logfile, pidfile and daemonize command line flags. For a decade, all major Unix systems have offered init tooling that handle these concerns automatically for the developer and sysadmin. For the last five years I’ve blogged about and recommended against using these flags and Sidekiq has provided example systemd and upstart configuration files since day one. No more excuses, good riddance.

Logging

Sidekiq’s logging subsystem was overhauled by Andrew Babichev to allow pluggable logging formatters, allowing the user to configure JSON-formatted log output in production, for instance.

Sidekiq.configure_server do |config|
  config.log_formatter = Sidekiq::Logger::Formatters::JSON.new
end

See sidekiq/logger for implementation details.

ActiveJob integration

I recently added the ability for ActiveJobs to use the sidekiq_options method like any normal Sidekiq::Worker to control Sidekiq features. This makes it easier to tailor Sidekiq’s retry subsystem to each individual ActiveJob’s needs.

class ExampleJob < ActiveJob::Base
  queue_as :critical
  sidekiq_options retry: 5, backtrace: 10

  def perform(*args)
  end
end

Upgrade Requirements

Like Rails 6.0, Sidekiq 6.0 has upgraded platform requirements:

Your Redis provider should have documentation on how to migrate your Redis instance to a supported version.

Twitter

You may or may not have noticed but I’ve deleted my Twitter account. I can’t interact with people as easily but it’s debatable whether that is a feature or a bug. I’m still lurking in various Ruby places, Mastodon, /r/ruby, some Slack groups, etc and you can always find me via email. I strongly encourage Sidekiq users to join me at my weekly Happy Hour. I get to meet you and learn your needs, you get to learn Sidekiq straight from me!

Wrapup

That’s the quick overview, a few changes but mostly Sidekiq has been stable! I hope these changes make Sidekiq more useful and reliable than ever to you. The actual Upgrade notes can be found here: