Sha256: 928150aed2bdc81ddf552a0b8e290142459b288255db94e1024ae4be28b75a48

Contents?: true

Size: 1.98 KB

Versions: 53

Compression:

Stored size: 1.98 KB

Contents

# Welcome to Sidekiq 4.0!

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](http://www.mikeperham.com/2015/10/14/optimizing-sidekiq/).

## 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 [#2431](https://github.com/mperham/sidekiq/issues/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.

* Worker data is no longer updated in real-time but rather upon every
  heartbeat.  Don't expect the `Sidekiq::Workers` API to be millisecond-precise.

* There's a new testing API based off the `Sidekiq::Queues` namespace. All
  assertions made against the Worker class still work as expected.
```ruby
assert_equal 0, Sidekiq::Queues["default"].size
HardWorker.perform_async("log")
assert_equal 1, Sidekiq::Queues["default"].size
assert_equal "log", Sidekiq::Queues["default"].first['args'][0]
Sidekiq::Queues.clear_all
```

## Upgrade

First, make sure you are using Redis 2.8 or greater. Next:

* Upgrade to the latest Sidekiq 3.x.
```ruby
gem 'sidekiq', '< 4'
```
* Fix any deprecation warnings you see.
* Upgrade to 4.x.
```ruby
gem 'sidekiq', '< 5'
```

Version data entries

53 entries across 53 versions & 2 rubygems

Version Path
sidekiq-5.2.10 4.0-Upgrade.md
sidekiq-6.1.3 4.0-Upgrade.md
sidekiq-6.1.2 4.0-Upgrade.md
sidekiq-6.1.1 4.0-Upgrade.md
sidekiq-6.1.0 4.0-Upgrade.md
sidekiq-5.2.9 4.0-Upgrade.md
sidekiq-6.0.7 4.0-Upgrade.md
sidekiq-6.0.6 4.0-Upgrade.md
sidekiq-6.0.5 4.0-Upgrade.md
sidekiq-5.2.8 4.0-Upgrade.md
sidekiq-6.0.4 4.0-Upgrade.md
sidekiq-6.0.3 4.0-Upgrade.md
sidekiq_cleaner-5.3.8 4.0-Upgrade.md
sidekiq-6.0.2 4.0-Upgrade.md
sidekiq-6.0.1 4.0-Upgrade.md
sidekiq-6.0.0 4.0-Upgrade.md
sidekiq_cleaner-5.3.6 4.0-Upgrade.md
sidekiq-6.0.0.pre1 4.0-Upgrade.md
sidekiq-5.2.7 4.0-Upgrade.md
sidekiq-5.2.6 4.0-Upgrade.md