class TingYun::Agent::Database::ConnectionManager
Returns a cached connection for a given ActiveRecord configuration - these are stored or reopened as needed, and if we cannot get one, we ignore it and move on without explaining the sql
Public Instance Methods
close_connections()
click to toggle source
Closes all the connections in the internal connection cache
# File lib/ting_yun/agent/database/connection_manager.rb, line 29 def close_connections @connections ||= {} @connections.values.each do |connection| begin connection.disconnect! rescue end end @connections = {} end
get_connection(config, &connector)
click to toggle source
# File lib/ting_yun/agent/database/connection_manager.rb, line 13 def get_connection(config, &connector) @connections ||= {} connection = @connections[config] return connection if connection begin @connections[config] = connector.call(config) rescue => e ::TingYun::Agent.logger.error("Caught exception trying to get connection to DB for explain.", e) nil end end