instance method
wait_poll
Ruby on Rails 4.0.13
Since v4.0.13 PrivateSignature
wait_poll(timeout)
Waits on the queue up to timeout seconds, then removes and returns the head of the queue.
Parameters
-
timeoutreq
Source
# File activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb, line 176
def wait_poll(timeout)
@num_waiting += 1
t0 = Time.now
elapsed = 0
loop do
@cond.wait(timeout - elapsed)
return remove if any?
elapsed = Time.now - t0
if elapsed >= timeout
msg = 'could not obtain a database connection within %0.3f seconds (waited %0.3f seconds)' %
[timeout, elapsed]
raise ConnectionTimeoutError, msg
end
end
ensure
@num_waiting -= 1
end
Defined in activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb line 176
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::ConnectionPool::Queue