class Nines::HttpCheck
Attributes
up_statuses[RW]
uri[RW]
user_agent[RW]
Public Class Methods
new(group, options)
click to toggle source
Calls superclass method
Nines::Check::new
# File lib/nines/http_check.rb, line 8 def initialize(group, options) super(group, options) @uri = options['uri'] || "http://#{hostname}:#{port}/" @up_statuses = options['up_statuses'] || [ 200 ] @user_agent = options['user_agent'] || "nines/1.0" end
Public Instance Methods
debug()
click to toggle source
shortcuts
# File lib/nines/http_check.rb, line 17 def debug ; Nines::App.debug ; end
run()
click to toggle source
# File lib/nines/http_check.rb, line 19 def run while Nines::App.continue do check_started = Time.now @address = Dnsruby::Resolv.getaddress(hostname) @pinger = Net::Ping::HTTP.new(uri, port, timeout) @pinger.user_agent = user_agent # the check log_status(@pinger.ping?, "#{uri} (#{address})#{@pinger.warning ? " [warning: #{@pinger.warning}]" : ''}") break if debug wait = interval.to_f - (Time.now - check_started) while wait > 0 do break unless Nines::App.continue sleep [1, wait].min wait -= 1 end end end