From 09732459092e9f694228344eef974626691b159e Mon Sep 17 00:00:00 2001 From: Mike Perham Date: Thu, 1 Mar 2012 13:41:12 -0800 Subject: [PATCH] Redis connection API change old: Sidekiq.redis = Sidekiq::RedisConnection.create(:namespace => 'foo') new: Sidekiq.redis = { :namespace => 'foo' } --- lib/sidekiq.rb | 14 ++++++++++++-- myapp/config/initializers/sidekiq.rb | 4 ++-- test/test_client.rb | 4 ++-- test/test_extensions.rb | 3 ++- test/test_manager.rb | 3 ++- test/test_middleware.rb | 2 +- test/test_stats.rb | 3 ++- 7 files changed, 23 insertions(+), 10 deletions(-) diff --git a/lib/sidekiq.rb b/lib/sidekiq.rb index 7e8a5413..cb933c48 100644 --- a/lib/sidekiq.rb +++ b/lib/sidekiq.rb @@ -55,8 +55,18 @@ module Sidekiq @redis ||= Sidekiq::RedisConnection.create end - def self.redis=(r) - @redis = r + def self.redis=(hash) + if !hash.is_a?(Hash) + puts "***************************************************** +Sidekiq.redis now takes a Hash: +old: Sidekiq.redis = Sidekiq::RedisConnection.create(:url => 'redis://foo.com', :namespace => 'abc', :size => 12) +new: Sidekiq.redis = { :url => 'redis://foo.com', :namespace => 'xyz', :size => 12 } +Called from #{caller[0]} +*****************************************************" + @redis = hash + else + @redis = RedisConnection.create(hash) + end end def self.client_middleware diff --git a/myapp/config/initializers/sidekiq.rb b/myapp/config/initializers/sidekiq.rb index 841a9dee..0e04146e 100644 --- a/myapp/config/initializers/sidekiq.rb +++ b/myapp/config/initializers/sidekiq.rb @@ -1,6 +1,6 @@ Sidekiq.configure_client do |config| - config.redis = Sidekiq::RedisConnection.create(:namespace => 'resque', :size => 2) + config.redis = { :namespace => 'resque', :size => 2 } end Sidekiq.configure_server do |config| - config.redis = Sidekiq::RedisConnection.create(:namespace => 'resque', :size => 25) + config.redis = { :namespace => 'resque', :size => 25 } end diff --git a/test/test_client.rb b/test/test_client.rb index d0dd9047..ab1f61c9 100644 --- a/test/test_client.rb +++ b/test/test_client.rb @@ -5,7 +5,7 @@ require 'sidekiq/worker' class TestClient < MiniTest::Unit::TestCase describe 'with real redis' do before do - Sidekiq.redis = Sidekiq::RedisConnection.create(:url => 'redis://localhost/sidekiq_test') + Sidekiq.redis = { :url => 'redis://localhost/sidekiq_test' } Sidekiq.redis.flushdb end @@ -39,7 +39,7 @@ class TestClient < MiniTest::Unit::TestCase def @redis.setex(*); nil; end def @redis.expire(*); true; end def @redis.with_connection; yield self; end - Sidekiq.redis = @redis + Sidekiq.instance_variable_set(:@redis, @redis) end it 'raises ArgumentError with invalid params' do diff --git a/test/test_extensions.rb b/test/test_extensions.rb index c82c5f4b..4a1005c5 100644 --- a/test/test_extensions.rb +++ b/test/test_extensions.rb @@ -10,7 +10,8 @@ class TestExtensions < MiniTest::Unit::TestCase describe 'sidekiq extensions' do before do Sidekiq.client_middleware.entries.clear - Sidekiq.redis = @redis = MiniTest::Mock.new + Sidekiq.instance_variable_set(:@redis, MiniTest::Mock.new) + @redis = Sidekiq.redis end class MyModel < ActiveRecord::Base diff --git a/test/test_manager.rb b/test/test_manager.rb index 851d8dce..3096e1ac 100644 --- a/test/test_manager.rb +++ b/test/test_manager.rb @@ -8,7 +8,8 @@ require 'connection_pool' class TestManager < MiniTest::Unit::TestCase describe 'with redis' do before do - Sidekiq.redis = @redis = Sidekiq::RedisConnection.create(:url => 'redis://localhost/sidekiq_test') + Sidekiq.redis = { :url => 'redis://localhost/sidekiq_test' } + @redis = Sidekiq.redis @redis.flushdb $processed = 0 $mutex = Mutex.new diff --git a/test/test_middleware.rb b/test/test_middleware.rb index d758c663..e22974df 100644 --- a/test/test_middleware.rb +++ b/test/test_middleware.rb @@ -6,7 +6,7 @@ require 'sidekiq/processor' class TestMiddleware < MiniTest::Unit::TestCase describe 'middleware chain' do before do - Sidekiq.redis = Sidekiq::RedisConnection.create(:url => 'redis://localhost/sidekiq_test') + Sidekiq.redis = { :url => 'redis://localhost/sidekiq_test' } end class CustomMiddleware diff --git a/test/test_stats.rb b/test/test_stats.rb index 8edebfbf..16241f8d 100644 --- a/test/test_stats.rb +++ b/test/test_stats.rb @@ -5,7 +5,8 @@ require 'sidekiq/processor' class TestStats < MiniTest::Unit::TestCase describe 'with redis' do before do - Sidekiq.redis = @redis = Sidekiq::RedisConnection.create(:url => 'redis://localhost/sidekiq_test') + Sidekiq.redis = { :url => 'redis://localhost/sidekiq_test' } + @redis = Sidekiq.redis @redis.flushdb end