Class: Nagios::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/nagios_helper/runner.rb

Direct Known Subclasses

RunnerAsync

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params, &callback) ⇒ Runner

Returns a new instance of Runner.



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/nagios_helper/runner.rb', line 3

def initialize(params, &callback)
  @params = params.with_indifferent_access
  @callback = callback
  @method = @params.delete(:method).to_s
  @method = @method.gsub(/[^_\.\-a-z0-9]/i, '')
  @klass_name = "Nagios::#{@method.camelize}"
  
  raise "method should be" if @method.blank?

  Nagios.mutex.synchronize{ load_initializers }
  load_class
  
  run
rescue Exception, Timeout::Error => ex
  Nagios.logger.info "T= #{params.inspect} #{ex.message} (#{ex.backtrace.inspect})"
  callback[ Nagios::Check.default_error(ex.message) ]
end

Class Method Details

.check(params = {}) ⇒ Object

synchrony check, for manual call



22
23
24
25
26
27
28
29
30
# File 'lib/nagios_helper/runner.rb', line 22

def self.check(params = {})
  result = nil
  
  self.new(params) do |res|
    result = res
  end
  
  result
end