Sha256: 694e7e9c3300b0684ec3f0dedd9f069040b309ae5c300e0b993ed62a3fc9beae
Contents?: true
Size: 900 Bytes
Versions: 1
Compression:
Stored size: 900 Bytes
Contents
require 'fresh_connection/abstract_connection_manager' require 'fresh_connection/connection_factory' module FreshConnection class ConnectionManager < AbstractConnectionManager def slave_connection synchronize do slave_connections[current_thread_id] ||= connection_factory.new_connection end end def put_aside! synchronize do slave_connections.values.each {|c| c.disconnect! rescue nil } @slave_connections.clear end end alias_method :clear_all_connections!, :put_aside! def recovery(failure_connection, exception) do_recovery = slave_down_message?(exception.message) put_aside! if do_recovery do_recovery end private def slave_connections @slave_connections ||= {} end def connection_factory @connection_factory ||= ConnectionFactory.new(@slave_group) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fresh_connection-0.4.1 | lib/fresh_connection/connection_manager.rb |