Method: Collective::Utilities::Process#wait_until_deadline
- Defined in:
- lib/collective/utilities/process.rb
#wait_until_deadline(pid, deadline) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/collective/utilities/process.rb', line 5 def wait_until_deadline( pid, deadline ) status = nil interval = 0.125 begin # execute at least once to get status dummy, status = wait2_now(pid) break if status #log "Waiting for #{pid}", "Sleeping #{interval}" if false sleep(interval) interval *= 2 if interval < 1.0 end while Time.now.to_f < deadline status end |