Method: Sequel::ShardedThreadedConnectionPool#remove_servers

Defined in:
lib/sequel/connection_pool/sharded_threaded.rb

#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.

[View source]

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