class CloudWatchMetrics::Resque::Info

Attributes

namespace[R]
queue_sizes[R]
time[R]

Public Class Methods

new(namespace, queue_sizes_enabled) click to toggle source
# File lib/cloud_watch_metrics/resque/info.rb, line 10
def initialize(namespace, queue_sizes_enabled)
  @namespace = namespace
  @queue_sizes_enabled = queue_sizes_enabled
end

Public Instance Methods

failed() click to toggle source
# File lib/cloud_watch_metrics/resque/info.rb, line 32
def failed
  @info.fetch(:failed)
end
not_working() click to toggle source
# File lib/cloud_watch_metrics/resque/info.rb, line 48
def not_working
  [0, workers - working].max
end
pending() click to toggle source
# File lib/cloud_watch_metrics/resque/info.rb, line 24
def pending
  @info.fetch(:pending)
end
processed() click to toggle source
# File lib/cloud_watch_metrics/resque/info.rb, line 28
def processed
  @info.fetch(:processed)
end
processing() click to toggle source
# File lib/cloud_watch_metrics/resque/info.rb, line 52
def processing
  incremental_size_of_processed + working
end
queues() click to toggle source
# File lib/cloud_watch_metrics/resque/info.rb, line 36
def queues
  @info.fetch(:queues)
end
update() click to toggle source
# File lib/cloud_watch_metrics/resque/info.rb, line 15
def update
  @previous_processed = processed if @info
  ::Resque.redis.namespace = @namespace
  @time = Time.now
  @info = ::Resque.info
  @queue_sizes = fetch_queue_sizes if @queue_sizes_enabled
  self
end
workers() click to toggle source
# File lib/cloud_watch_metrics/resque/info.rb, line 40
def workers
  @info.fetch(:workers)
end
working() click to toggle source
# File lib/cloud_watch_metrics/resque/info.rb, line 44
def working
  @info.fetch(:working)
end

Private Instance Methods

fetch_queue_sizes() click to toggle source
# File lib/cloud_watch_metrics/resque/info.rb, line 58
def fetch_queue_sizes
  ::Resque.queues.map { |name| [name, ::Resque.size(name)] }
end
incremental_size_of_processed() click to toggle source
# File lib/cloud_watch_metrics/resque/info.rb, line 62
def incremental_size_of_processed
  if @previous_processed.nil?
    0
  else
    [0, processed - @previous_processed].max
  end
end