diff options
Diffstat (limited to 'lib/gitlab/sidekiq_middleware/pause_control.rb')
-rw-r--r-- | lib/gitlab/sidekiq_middleware/pause_control.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/gitlab/sidekiq_middleware/pause_control.rb b/lib/gitlab/sidekiq_middleware/pause_control.rb new file mode 100644 index 00000000000..2f0fd0cc799 --- /dev/null +++ b/lib/gitlab/sidekiq_middleware/pause_control.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Gitlab + module SidekiqMiddleware + module PauseControl + DEFAULT_STRATEGY = :none + + UnknownStrategyError = Class.new(StandardError) + + STRATEGIES = { + zoekt: ::Gitlab::SidekiqMiddleware::PauseControl::Strategies::Zoekt, + none: ::Gitlab::SidekiqMiddleware::PauseControl::Strategies::None + }.freeze + + def self.for(name) + STRATEGIES.fetch(name, STRATEGIES[DEFAULT_STRATEGY]) + end + end + end +end |