Class: Bosh::Monitor::DirectorMonitor

Inherits:
Object
  • Object
show all
Defined in:
lib/bosh/monitor/director_monitor.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ DirectorMonitor

Returns a new instance of DirectorMonitor.



3
4
5
6
7
# File 'lib/bosh/monitor/director_monitor.rb', line 3

def initialize(config)
  @nats = config.nats
  @logger = config.logger
  @event_processor = config.event_processor
end

Instance Method Details

#subscribeObject



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/bosh/monitor/director_monitor.rb', line 9

def subscribe
  EM.schedule do
    @nats.subscribe('hm.director.alert') do |message, _, subject|
      @logger.debug("RECEIVED: #{subject} #{message}")
      alert = Yajl::Parser.parse(message)

      if valid_payload?(alert)
        @event_processor.process(:alert, alert)
      end
    end
  end
end