Method: Phobos::Actions::ProcessMessage#snooze

Defined in:
lib/phobos/actions/process_message.rb

#snooze(interval) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
# File 'lib/phobos/actions/process_message.rb', line 34

def snooze(interval)
  remaining_interval = interval

  @listener.send_heartbeat_if_necessary

  while remaining_interval.positive?
    sleep [remaining_interval, MAX_SLEEP_INTERVAL].min
    remaining_interval -= MAX_SLEEP_INTERVAL
    @listener.send_heartbeat_if_necessary
  end
end