debian-mirror-gitlab/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies.rb
2021-01-29 00:20:46 +05:30

23 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