class Cloudscopes::RedisClient

Public Class Methods

new(host,port) click to toggle source
# File lib/cloudscopes/redis.rb, line 5
def initialize(host,port)
  @redis = Redis.new(host: host, port: port)
end

Public Instance Methods

list_size(*keys) click to toggle source
# File lib/cloudscopes/redis.rb, line 16
def list_size(*keys)
  keys = [ keys ] unless keys.is_a? Array
  keys.collect do |key|
    @redis.llen("#{key}")
  end.reduce(0,:+)
end
resque_size(*keys) click to toggle source
# File lib/cloudscopes/redis.rb, line 9
def resque_size(*keys)
  keys = [ keys ] unless keys.is_a? Array
  keys.collect do |key|
    @redis.llen("resque:queue:#{key}")
  end.reduce(0,:+)
end
resque_workers(queue, activity = nil) click to toggle source
# File lib/cloudscopes/redis.rb, line 23
def resque_workers(queue, activity = nil)
  case activity
  when :active
    @redis.keys("resque:worker:*:#{queue}").count
  when :inactive
    resque_workers(queue, :available) - resque_workers(queue, :active)
  when :usage
    if resque_workers(queue) > 0
      resque_workers(queue, :active).to_f / resque_workers(queue)
    else
      0
    end
  else
    @redis.keys("resque:worker:*:#{queue}:started").count
  end
end
resques(pattern) click to toggle source
# File lib/cloudscopes/redis.rb, line 40
def resques(pattern)
  @redis.smembers("resque:queues").grep(pattern)
end