module RailsFailover::ActiveRecord

Public Class Methods

establish_reading_connection(handler, config) click to toggle source
# File lib/rails_failover/active_record.rb, line 30
def self.establish_reading_connection(handler, config)

  if config[:replica_host] && config[:replica_port]
    replica_config = config.dup
    replica_config[:host] = replica_config.delete(:replica_host)
    replica_config[:port] = replica_config.delete(:replica_port)
    replica_config[:replica] = true
    handler.establish_connection(replica_config)
  end
end
logger() click to toggle source
# File lib/rails_failover/active_record.rb, line 18
def self.logger
  @logger || Rails.logger
end
logger=(logger) click to toggle source
# File lib/rails_failover/active_record.rb, line 14
def self.logger=(logger)
  @logger = logger
end
on_failover(&block) click to toggle source
# File lib/rails_failover/active_record.rb, line 45
def self.on_failover(&block)
  @on_failover_callback = block
end
on_failover_callback!(key) click to toggle source
# File lib/rails_failover/active_record.rb, line 49
def self.on_failover_callback!(key)
  @on_failover_callback&.call(key)
rescue => e
  logger.warn("RailsFailover::ActiveRecord.on_failover failed: #{e.class} #{e.message}\n#{e.backtrace.join("\n")}")
end
on_fallback(&block) click to toggle source
# File lib/rails_failover/active_record.rb, line 55
def self.on_fallback(&block)
  @on_fallback_callback = block
end
on_fallback_callback!(key) click to toggle source
# File lib/rails_failover/active_record.rb, line 59
def self.on_fallback_callback!(key)
  @on_fallback_callback&.call(key)
rescue => e
  logger.warn("RailsFailover::ActiveRecord.on_fallback failed: #{e.class} #{e.message}\n#{e.backtrace.join("\n")}")
end
register_force_reading_role_callback(&block) click to toggle source
# File lib/rails_failover/active_record.rb, line 41
def self.register_force_reading_role_callback(&block)
  Middleware.force_reading_role_callback = block
end
verify_primary_frequency_seconds() click to toggle source
# File lib/rails_failover/active_record.rb, line 26
def self.verify_primary_frequency_seconds
  @verify_primary_frequency_seconds || 5
end
verify_primary_frequency_seconds=(seconds) click to toggle source
# File lib/rails_failover/active_record.rb, line 22
def self.verify_primary_frequency_seconds=(seconds)
  @verify_primary_frequency_seconds = seconds
end