Class: EzNemo::Reactor
- Inherits:
-
Object
- Object
- EzNemo::Reactor
- Defined in:
- lib/eznemo.rb
Overview
EventMachine reactor
Class Method Summary collapse
-
.run!(opts) ⇒ Object
Start reactor.
Instance Method Summary collapse
-
#initialize(opts) ⇒ Reactor
constructor
Usually called by #self.run!.
-
#run ⇒ Object
Usually called by #self.run!.
Constructor Details
#initialize(opts) ⇒ Reactor
Usually called by #self.run!
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/eznemo.rb', line 21 def initialize(opts) c = EzNemo.load_config(opts[:config]) p = c[:probe] EzNemo.logger = eval(p[:logger]) if p[:logger].class == String logger = EzNemo.logger logger.level = eval(p[:log_level]) if p[:log_level].class == String logger.debug 'Loading datastore adapter...' require "eznemo/#{c[:datastore][:type]}" require 'eznemo/datastore' logger.debug 'Loading monitoring plugins...' require 'eznemo/monitor' require 'eznemo/monitor/ping' end |
Class Method Details
Instance Method Details
#run ⇒ Object
Usually called by #self.run!
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/eznemo.rb', line 36 def run logger = EzNemo.logger ds = EzNemo.datastore Signal.trap('INT') do puts 'Interrupted.' ds.flush exit end Signal.trap('SIGTERM') do puts 'Stopping...' ds.flush exit end EM.run do logger.debug 'Loading checks...' EzNemo.monitor.start_checks(ds.checks) ds.start_loop end end |