Method: Sequel::ShardedThreadedConnectionPool#remove_servers
- Defined in:
- lib/sequel/connection_pool/sharded_threaded.rb
permalink #remove_servers(servers) ⇒ Object
Remove servers from the connection pool. Similar to disconnecting from all given servers, except that after it is used, future requests for the server will use the :default server instead.
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 |
# File 'lib/sequel/connection_pool/sharded_threaded.rb', line 147 def remove_servers(servers) conns = [] raise(Sequel::Error, "cannot remove default server") if servers.include?(:default) sync do servers.each do |server| if @servers.include?(server) conns.concat(disconnect_server_connections(server)) @waiters.delete(server) @available_connections.delete(server) @allocated.delete(server) @servers.delete(server) end end end nil ensure disconnect_connections(conns) end |