2018-11-19 21:01:13 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-07-10 23:35:47 -04:00
|
|
|
# please require all dependencies below:
|
|
|
|
require_relative 'wrapper' unless defined?(::Gitlab::Redis::Wrapper)
|
|
|
|
|
|
|
|
module Gitlab
|
|
|
|
module Redis
|
|
|
|
class Queues < ::Gitlab::Redis::Wrapper
|
2019-08-31 15:25:25 -04:00
|
|
|
SIDEKIQ_NAMESPACE = 'resque:gitlab'
|
|
|
|
MAILROOM_NAMESPACE = 'mail_room:gitlab'
|
|
|
|
DEFAULT_REDIS_QUEUES_URL = 'redis://localhost:6381'
|
|
|
|
REDIS_QUEUES_CONFIG_ENV_VAR_NAME = 'GITLAB_REDIS_QUEUES_CONFIG_FILE'
|
2017-07-10 23:35:47 -04:00
|
|
|
|
|
|
|
class << self
|
|
|
|
def default_url
|
|
|
|
DEFAULT_REDIS_QUEUES_URL
|
|
|
|
end
|
|
|
|
|
|
|
|
def config_file_name
|
|
|
|
# if ENV set for this class, use it even if it points to a file does not exist
|
|
|
|
file_name = ENV[REDIS_QUEUES_CONFIG_ENV_VAR_NAME]
|
|
|
|
return file_name if file_name
|
|
|
|
|
|
|
|
# otherwise, if config files exists for this class, use it
|
2017-08-15 15:08:56 -04:00
|
|
|
file_name = config_file_path('redis.queues.yml')
|
2017-07-10 23:35:47 -04:00
|
|
|
return file_name if File.file?(file_name)
|
|
|
|
|
|
|
|
# this will force use of DEFAULT_REDIS_QUEUES_URL when config file is absent
|
|
|
|
super
|
|
|
|
end
|
2020-06-04 08:08:21 -04:00
|
|
|
|
|
|
|
def instrumentation_class
|
|
|
|
::Gitlab::Instrumentation::Redis::Queues
|
|
|
|
end
|
2017-07-10 23:35:47 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|