class NagiosCheckResque::QueueSizeCheck
Prevent jobs from queuing up
Public Class Methods
new(resque = ResqueAdapter.new)
click to toggle source
# File lib/nagios_check_resque/queue_size_check.rb, line 16 def initialize(resque = ResqueAdapter.new) @resque = resque end
Public Instance Methods
check()
click to toggle source
# File lib/nagios_check_resque/queue_size_check.rb, line 20 def check @resque.setup(redis_url: options['redis-url']) store_message(queue_sizes_message) store_value(:max, queue_sizes.values.max) queue_sizes.each do |name, size| store_value(name, size) end end
Private Instance Methods
queue_sizes()
click to toggle source
# File lib/nagios_check_resque/queue_size_check.rb, line 39 def queue_sizes @queue_sizes ||= queues.each_with_object({}) do |name, sizes| sizes[name] = @resque.queue_size(name) end end
queue_sizes_message()
click to toggle source
# File lib/nagios_check_resque/queue_size_check.rb, line 33 def queue_sizes_message queue_sizes.sort_by { |_, size| size }.reverse.map { |name, size| "#{size} in #{name}" }.compact.join(', ') end
queues()
click to toggle source
# File lib/nagios_check_resque/queue_size_check.rb, line 45 def queues options.queues.split(',') end