Sidekiq 4.0 contains a redesigned, more efficient core with less overhead per job. See my blog for an overview of Sidekiq 4's higher performance.
-
Sidekiq no longer uses Celluloid. If your application code uses Celluloid, you will need to pull it in yourself.
-
redis-namespace
has been removed from Sidekiq's gem dependencies. If you want to use namespacing (and I strongly urge you not to), you'll need to add the gem to your Gemfile:
gem 'redis-namespace'
-
Redis 2.8.0 or greater is required. Redis 2.8 was released two years ago and contains many useful features which Sidekiq couldn't leverage until now. Redis 3.0.3 or greater is recommended for large scale use #2431.
-
Jobs are now fetched from Redis in parallel, making Sidekiq more resilient to high network latency. This means that Sidekiq requires more Redis connections per process. You must have a minimum of
concurrency + 2
connections in your pool or Sidekiq will exit. When in doubt, let Sidekiq size the connection pool for you.
First, make sure you are using Redis 2.8 or greater. Next:
- Upgrade to the latest Sidekiq 3.x.
gem 'sidekiq', '< 4'
- Fix any deprecation warnings you see.
- Upgrade to 4.x.
gem 'sidekiq', '< 5'