1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00
mperham--sidekiq/4.0-Upgrade.md

38 lines
1.3 KiB
Markdown
Raw Normal View History

2015-10-14 19:28:20 -04:00
# Upgrading to Sidekiq 4.0
Sidekiq 4.0 contains a completely redesigned core with much higher
performance. See my blog for [an overview of Sidekiq 4's higher performance](http://www.mikeperham.com/2015/10/14/optimizing-sidekiq/).
To upgrade cleanly:
* Upgrade to the latest Sidekiq 3.x.
2015-10-14 19:34:31 -04:00
```ruby
gem 'sidekiq', '< 4'
```
* Fix any deprecation warnings you see.
* Upgrade to 4.0.x.
```ruby
gem 'sidekiq', '< 5'
```
2015-10-14 19:28:20 -04:00
## What's New
* 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](http://www.mikeperham.com/2015/09/24/storing-data-with-redis/)), you'll need to add the gem to your Gemfile:
```ruby
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.
* Sidekiq requires more Redis connections per process due to a change in
how jobs are fetched from Redis. 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.