class ActiveRecord::ConnectionAdapters::ConnectionPool::Queue

def poll(timeout = nil)

becomes available within +timeout+ seconds,
- ActiveRecord::ConnectionTimeoutError if +timeout+ is given and no element
Raises:

become available.
available, waiting up to +timeout+ seconds for an element to
If +timeout+ is given, block if there is no element

is, don't jump ahead in line). Otherwise, return +nil+.
greater than the number of threads currently waiting (that
queue if the number of available elements is strictly
If +timeout+ is not given, remove and return the head of the

Remove the head of the queue.
def poll(timeout = nil)
  synchronize { internal_poll(timeout) }
end