Module: Gitlab::SidekiqMiddleware::DuplicateJobs::Strategies

Defined in:
lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies.rb,
lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/base.rb,
lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/none.rb,
lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executed.rb,
lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing.rb,
lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/deduplicates_when_scheduling.rb

Defined Under Namespace

Classes: Base, DeduplicatesWhenScheduling, None, UntilExecuted, UntilExecuting

Constant Summary collapse

UnknownStrategyError =
Class.new(StandardError)
STRATEGIES =
{
  until_executing: ::Gitlab::SidekiqMiddleware::DuplicateJobs::Strategies::UntilExecuting,
  until_executed: ::Gitlab::SidekiqMiddleware::DuplicateJobs::Strategies::UntilExecuted,
  none: ::Gitlab::SidekiqMiddleware::DuplicateJobs::Strategies::None
}.freeze

Class Method Summary collapse

Class Method Details

.for(name) ⇒ Object



15
16
17
18
19
# File 'lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies.rb', line 15

def self.for(name)
  STRATEGIES.fetch(name)
rescue KeyError
  raise UnknownStrategyError, "Unknown deduplication strategy #{name}"
end