class MonitorTypeBeanstalk

A Beanstalk class for checking how many msgs are in a Queue

Public Instance Methods

derived_value() click to toggle source
# File lib/monitor_type/beanstalk.rb, line 26
def derived_value
  tube_stats = @beanstalk.stats_tube(@queue)
  tube_stats['current-jobs-ready']
rescue Beanstalk::NotFoundError
  0
end
extract_params() click to toggle source

Extract parameters

@param [String] beanstalk Optional connection string. Default to local @param [String] queue Name of queue to monitor

# File lib/monitor_type/beanstalk.rb, line 9
def extract_params
  @connection_string = @params[:beanstalk] || 'localhost:11300'

  if @params[:queue].nil?
    string = "*** Beanstalk parameter missing, queue\n" \
             '*** :queue => <queue name>'
    fail MonitorTypeParameterMissingError, string
  end
  @queue = @params[:queue]

  @context_sentence = "Checking number of jobs in queue, #{@queue}"
end
setup() click to toggle source
# File lib/monitor_type/beanstalk.rb, line 22
def setup
  @beanstalk = Beanstalk::Pool.new([@connection_string])
end