class RailsFailover::Redis

Constants

PRIMARY
REPLICA

Public Class Methods

clear_callbacks() click to toggle source

For testing

# File lib/rails_failover/redis.rb, line 60
def self.clear_callbacks
  @on_fallback_callback = nil
  @on_failover_callback = nil
end
logger() click to toggle source
# File lib/rails_failover/redis.rb, line 23
def self.logger
  if @logger
    @logger
  elsif defined?(::Rails)
    ::Rails.logger
  end
end
logger=(logger) click to toggle source
# File lib/rails_failover/redis.rb, line 19
def self.logger=(logger)
  @logger = logger
end
on_failover(&block) click to toggle source
# File lib/rails_failover/redis.rb, line 39
def self.on_failover(&block)
  @on_failover_callback = block
end
on_failover_callback!(key) click to toggle source
# File lib/rails_failover/redis.rb, line 43
def self.on_failover_callback!(key)
  @on_failover_callback&.call(key)
rescue => e
  logger.warn("RailsFailover::Redis.on_failover failed: #{e.class} #{e.message}\n#{e.backtrace.join("\n")}")
end
on_fallback(&block) click to toggle source
# File lib/rails_failover/redis.rb, line 49
def self.on_fallback(&block)
  @on_fallback_callback = block
end
on_fallback_callback!(key) click to toggle source
# File lib/rails_failover/redis.rb, line 53
def self.on_fallback_callback!(key)
  @on_fallback_callback&.call(key)
rescue => e
  logger.warn("RailsFailover::Redis.on_fallback failed: #{e.class} #{e.message}\n#{e.backtrace.join("\n")}")
end
verify_primary_frequency_seconds() click to toggle source
# File lib/rails_failover/redis.rb, line 35
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/redis.rb, line 31
def self.verify_primary_frequency_seconds=(seconds)
  @verify_primary_frequency_seconds = seconds
end