Method: Sensu::API.trap_signals

Defined in:
lib/sensu/api.rb

.trap_signalsObject



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/sensu/api.rb', line 91

def trap_signals
  $signals = Array.new
  STOP_SIGNALS.each do |signal|
    Signal.trap(signal) do
      $signals << signal
    end
  end
  EM::PeriodicTimer.new(1) do
    signal = $signals.shift
    if STOP_SIGNALS.include?(signal)
      $logger.warn('received signal', {
        :signal => signal
      })
      stop
    end
  end
end