Method: Sensu::Client#schedule_checks

Defined in:
lib/sensu/client.rb

#schedule_checks(checks) ⇒ Object



216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
# File 'lib/sensu/client.rb', line 216

def schedule_checks(checks)
  check_count = 0
  stagger = testing? ? 0 : 2
  checks.each do |check|
    check_count += 1
    scheduling_delay = stagger * check_count % 30
    @timers << EM::Timer.new(scheduling_delay) do
      interval = testing? ? 0.5 : check[:interval]
      @timers << EM::PeriodicTimer.new(interval) do
        if @rabbitmq.connected?
          check[:issued] = Time.now.to_i
          process_check(check)
        end
      end
    end
  end
end