class Daru::TD::QueryEngine::JobWrapper

Attributes

issued_at[RW]

Public Instance Methods

wait(timeout=nil, wait_interval=2) { |self| ... } click to toggle source
# File lib/daru/td/query_engine.rb, line 17
def wait(timeout=nil, wait_interval=2)
  started_at = Time.now
  until finished?
    if !timeout || ((Time.now - started_at).abs > timeout && wait_interval <= timeout)
      sleep wait_interval
      yield self if block_given?
    else
      raise TimeoutError, "timeout"
    end
    update_progress!
  end
end