Module: Eye::Process::Notify

Included in:
ChildProcess, Eye::Process
Defined in:
lib/eye/process/notify.rb

Constant Summary collapse

LEVELS =

notify to user: 1) process crashed by itself, and we restart it [:info] 2) checker bounded to restart process [:warn] 3) flapping + switch to unmonitored [:error]

{:debug => 0, :info => 1, :warn => 2, :error => 3, :fatal => 4}

Instance Method Summary collapse

Instance Method Details

#notify(level, msg) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/eye/process/notify.rb', line 10

def notify(level, msg)
  # logging it
  error "NOTIFY: #{msg}" if ilevel(level) > ilevel(:info)

  # send notifies
  if self[:notify].present?
    message = {:message => msg, :name => name,
      :full_name => full_name, :pid => pid, :host => Eye::Local.host, :level => level,
      :at => Time.now }

    self[:notify].each do |contact, not_level|
      Eye::Notify.notify(contact, message) if ilevel(level) >= ilevel(not_level)
    end
  end
end