All Versions
165
Latest Version
Avg Release Cycle
63 days
Latest Release
-
Changelog History
Page 9
Changelog History
Page 9
-
v3.1.3 Changes
- ๐ Use ENV['DYNO'] on Heroku for hostname display, rather than an ugly UUID. [#1742]
- ๐ Show per-process labels on the Busy page, for feature tagging [#1673]
-
v3.1.2 Changes
- โช Suitably chastised, @mperham reverts the Bundler change.
-
v3.1.1 Changes
- 0๏ธโฃ Sidekiq::CLI now runs
Bundler.require(:default, environment)
to boot all gems before loading any app code. - ๐ป Sort queues by name in Web UI [#1734]
- 0๏ธโฃ Sidekiq::CLI now runs
-
v3.1.0 Changes
- New remote control feature: you can remotely trigger Sidekiq to quiet
or terminate via API, without signals. This is most useful on JRuby
or Heroku which does not support the USR1 'quiet' signal. Now you can
run a rake task like this at the start of your deploy to quiet your
set of Sidekiq processes. [#1703]
ruby namespace :sidekiq do task :quiet => :environment do Sidekiq::ProcessSet.new.each(&:quiet!) end end
- ๐ป The Web UI can use the API to quiet or stop all processes via the Busy page.
- ๐ป The Web UI understands and hides the
Sidekiq::Extensions::Delay*
classes, instead showingClass.method
as the Job. [#1718] - ๐ Polish the Dashboard graphs a bit, update Rickshaw [brandonhilkert, #1725]
- ๐ง The poll interval is now configurable in the Web UI [madebydna, #1713]
- ๐ Delay extensions can be removed so they don't conflict with
DelayedJob: put
Sidekiq.remove_delay!
in your initializer. [devaroop, #1674]
- New remote control feature: you can remotely trigger Sidekiq to quiet
or terminate via API, without signals. This is most useful on JRuby
or Heroku which does not support the USR1 'quiet' signal. Now you can
run a rake task like this at the start of your deploy to quiet your
set of Sidekiq processes. [#1703]
-
v3.0.2 Changes
- โช Revert gemfile requirement of Ruby 2.0. JRuby 1.7 calls itself Ruby 1.9.3 and broke with this requirement.
-
v3.0.1 Changes
- โช Revert pidfile behavior from 2.17.5: Sidekiq will no longer remove its own pidfile as this is a race condition when restarting. [#1470, #1677]
- โ Show warning on the Queues page if a queue is paused [#1672]
- Only activate the ActiveRecord middleware if ActiveRecord::Base is defined on boot. [#1666]
- โ Add ability to disable jobs going to the DJQ with the
dead
option.ruby sidekiq_options :dead => false, :retry => 5
- ๐ Minor fixes
-
v3.0.0 Changes
โฌ๏ธ Please see [3.0-Upgrade.md](3.0-Upgrade.md) for more comprehensive upgrade notes.
- ๐ท Dead Job Queue - jobs which run out of retries are now moved to a dead
job queue. These jobs must be retried manually or they will expire
after 6 months or 10,000 jobs. The Web UI contains a "Dead" tab
exposing these jobs. Use
sidekiq_options :retry => false
if you ๐ท don't wish jobs to be retried or put in the DJQ. Use ๐ทsidekiq_options :retry => 0
if you don't want jobs to retry but go straight to the DJQ. - ๐จ Process Lifecycle Events - you can now register blocks to run at
certain points during the Sidekiq process lifecycle: startup, quiet and
shutdown.
ruby Sidekiq.configure_server do |config| config.on(:startup) do # do something end end
- Global Error Handlers - blocks of code which handle errors that
occur anywhere within Sidekiq, not just within middleware.
ruby Sidekiq.configure_server do |config| config.error_handlers << proc {|ex,ctx| ... } end
- ๐จ Process Heartbeat - each Sidekiq process will ping Redis every 5 seconds to give a summary of the Sidekiq population at work.
- ๐ท The Workers tab is now renamed to Busy and contains a list of live Sidekiq processes and jobs in progress based on the heartbeat.
- Shardable Client - Sidekiq::Client instances can use a custom
Redis connection pool, allowing very large Sidekiq installations to scale by
sharding: sending different jobs to different Redis instances.
ruby client = Sidekiq::Client.new(ConnectionPool.new { Redis.new }) client.push(...)
ruby Sidekiq::Client.via(ConnectionPool.new { Redis.new }) do FooWorker.perform_async BarWorker.perform_async end
Sharding support does require a breaking change to client-side โฌ๏ธ middleware, see 3.0-Upgrade.md. - ๐ New Chinese, Greek, Swedish and Czech translations for the Web UI.
- โก๏ธ Updated most languages translations for the new UI features.
- โ Remove official Capistrano integration - this integration has been moved into the capistrano-sidekiq gem.
- โ Remove official support for MRI 1.9 - Things still might work but I no longer actively test on it.
- โ Remove built-in support for Redis-to-Go.
Heroku users:
heroku config:set REDIS_PROVIDER=REDISTOGO_URL
- โ Remove built-in error integration for Airbrake, Honeybadger, ExceptionNotifier and Exceptional. Each error gem should provide its own Sidekiq integration. Update your error gem to the latest version to pick up Sidekiq support.
- โฌ๏ธ Upgrade to connection_pool 2.0 which now creates connections lazily.
- Remove deprecated Sidekiq::Client.registered_* APIs
- โ Remove deprecated support for the old Sidekiq::Worker#retries_exhausted method.
- โ Removed 'sidekiq/yaml_patch', this was never documented or recommended.
- โ Removed --profile option, #1592
- โ Remove usage of the term 'Worker' in the UI for clarity. Users would call both threads and processes 'workers'. Instead, use "Thread", "Process" or "Job".
- ๐ท Dead Job Queue - jobs which run out of retries are now moved to a dead
job queue. These jobs must be retried manually or they will expire
after 6 months or 10,000 jobs. The Web UI contains a "Dead" tab
exposing these jobs. Use
-
v2.17.7 Changes
- ๐ท Auto-prune jobs older than one hour from the Workers page [#1508]
- โ Add Sidekiq::Workers#prune which can perform the auto-pruning.
- ๐ Fix issue where a job could be lost when an exception occurs updating Redis stats before the job executes [#1511]
-
v2.17.6 Changes
- ๐ Fix capistrano integration due to missing pidfile. [#1490]
-
v2.17.5 Changes
- Automatically use the config file found at
config/sidekiq.yml
, if not passed-C
. [#1481] - Store 'retried_at' and 'failed_at' timestamps as Floats, not Strings. [#1473]
- A
USR2
signal will now reopen all logs, using IO#reopen. Thus, instead of creating a new Logger object, Sidekiq will now just update the existing Logger's file descriptor [#1163]. - โ Remove pidfile when shutting down if started with
-P
[#1470]
- Automatically use the config file found at