Module: EM::Resque

Extended by:
Resque
Included in:
Resque
Defined in:
lib/em-resque.rb

Class Method Summary collapse

Class Method Details

.initialize_redis(server, pool_size = 1) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/em-resque.rb', line 10

def self.initialize_redis(server, pool_size = 1)
  case server
  when String
    opts = if server =~ /redis\:\/\//
             uri = URI.parse(server)
             {:host => uri.host, :port => uri.port}
           else
             server, namespace = server.split('/', 2)
             host, port, db = server.split(':')
             {:host => host, :port => port, :thread_safe => true, :db => db}
           end

    namespace ||= :resque

    redis = EventMachine::Synchrony::ConnectionPool.new(:size => pool_size) do
      EM::Protocols::Redis.connect(opts)
    end

    Resque.redis = Redis::Namespace.new(namespace, :redis => redis)
  when Redis::Namespace
    Resque.redis = server
  else
    redis = EventMachine::Synchrony::ConnectionPool.new(:size => pool_size) do
      server
    end
    Resque.redis = Redis::Namespace.new(namespace, :redis => redis)
  end
end