gitlab-org--gitlab-foss/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies.rb

24 lines
527 B
Ruby

# frozen_string_literal: true
module Gitlab
module SidekiqMiddleware
module DuplicateJobs
module Strategies
UnknownStrategyError = Class.new(StandardError)
STRATEGIES = {
until_executing: UntilExecuting,
until_executed: UntilExecuted,
none: None
}.freeze
def self.for(name)
STRATEGIES.fetch(name)
rescue KeyError
raise UnknownStrategyError, "Unknown deduplication strategy #{name}"
end
end
end
end
end