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