class ActiveRecord::ConnectionAdapters::MariaDbClusterPoolAdapter::AvailableConnection

This simple class puts an expire time on an array of connections. It is used so the a connection to a down database won’t try to reconnect over and over.

Attributes

connection[R]
expires[W]
failed_connection[W]

Public Class Methods

new(connection, failed_connection = false, expires = nil) click to toggle source
# File lib/active_record/connection_adapters/maria_db_cluster_pool_adapter.rb, line 189
def initialize(connection, failed_connection = false, expires = nil)
  @connection = connection
  @failed_connection = failed_connection
  @expires = expires
end

Public Instance Methods

expired?() click to toggle source
# File lib/active_record/connection_adapters/maria_db_cluster_pool_adapter.rb, line 195
def expired?
  @expires ? @expires <= Time.now : false
end
failed?() click to toggle source
# File lib/active_record/connection_adapters/maria_db_cluster_pool_adapter.rb, line 199
def failed?
  @failed_connection
end
reconnect!() click to toggle source
# File lib/active_record/connection_adapters/maria_db_cluster_pool_adapter.rb, line 203
def reconnect!
  @connection.reconnect!
  if @connection.active?
    @failed_connection = false
    @expires = nil
  else
    raise DatabaseConnectionError.new
  end
end