module RedisProxy

Public Instance Methods

method_missing(method, *args) click to toggle source
# File lib/airbrake_proxy/redis_proxy.rb, line 6
def method_missing method, *args
  tries = 0
  begin
    redis.send method, *args
  rescue Redis::TimeoutError, Redis::CannotConnectError
    if (tries += 1) < 10
      logger.warn '[RedisProxy] Retry a Redis call'
      retry
    else
      logger.warn '[RedisProxy] Fail a Redis call after 10 tries'
      raise
    end
  end
end

Private Instance Methods

logger() click to toggle source
# File lib/airbrake_proxy/redis_proxy.rb, line 27
def logger
  @logger ||= AirbrakeProxy.configuration.logger
end
redis() click to toggle source
# File lib/airbrake_proxy/redis_proxy.rb, line 23
def redis
  @redis ||= AirbrakeProxy.configuration.redis
end