Method: ActiveRecord::ConnectionAdapters::ConnectionPool#disconnect
- Defined in:
- activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
#disconnect(raise_on_acquisition_timeout = true) ⇒ Object
Disconnects all connections in the pool, and clears the pool.
Raises:
-
ActiveRecord::ExclusiveConnectionTimeoutError if unable to gain ownership of all connections in the pool within a timeout interval (default duration is
spec.db_config.checkout_timeout * 2
seconds).
452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 |
# File 'activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb', line 452 def disconnect(raise_on_acquisition_timeout = true) with_exclusively_acquired_all_connections(raise_on_acquisition_timeout) do synchronize do @connections.each do |conn| if conn.in_use? conn.steal! checkin conn end conn.disconnect! end @connections = [] @leases.clear @available.clear end end end |