class ZuoraConnect::AppInstanceBase

def data_lookup(session: {})

def data_lookup(session: {})
  if defined?(Redis.current)
    begin
      redis_get_command ||= 0
      cached_instance = Redis.current.get("AppInstance:#{self.id}")
    rescue *(ZuoraAPI::Login::CONNECTION_EXCEPTIONS).concat(ZuoraAPI::Login::CONNECTION_READ_EXCEPTIONS) => ex
      if (redis_get_command += 1) < 3
        retry
      else
        raise
      end
    end
    if cached_instance.blank?
      ZuoraConnect.logger.debug("[#{self.id}] Cached AppInstance Missing")
      return session
    else
      ZuoraConnect.logger.debug("[#{self.id}] Cached AppInstance Found")
      return decrypt_data(data: cached_instance, rescue_return: session).merge(session)
    end
  else
    return session
  end
end