Sha256: 22e46167aa5d501a206b8ab817124ba3676cbd06725d4771198d7e8d0377c364

Contents?: true

Size: 693 Bytes

Versions: 2

Compression:

Stored size: 693 Bytes

Contents

require 'connection_pool'
require 'redis/namespace'

module Sidekiq
  class RedisConnection
    def self.create(options={})
      url = options[:url] || ENV['REDISTOGO_URL'] || 'redis://localhost:6379/0'
      client = build_client(url, options[:namespace])
      return ConnectionPool.new(:timeout => 1, :size => (options[:size] || Sidekiq.options[:concurrency] || 25)) { client } unless options[:use_pool] == false
      client
    end

    def self.build_client(url, namespace)
      client = Redis.connect(:url => url)
      if namespace
        Redis::Namespace.new(namespace, :redis => client)
      else
        client
      end
    end
    private_class_method :build_client
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sidekiq-0.8.0 lib/sidekiq/redis_connection.rb
sidekiq-0.7.0 lib/sidekiq/redis_connection.rb