class SidekiqRobustJob::UniquenessStrategy
Attributes
jobs_repository[R]
lock_ttl_proc[R]
locker[R]
memory_monitor[R]
Public Class Methods
new(locker:, lock_ttl_proc:, jobs_repository:, memory_monitor:)
click to toggle source
# File lib/sidekiq_robust_job/uniqueness_strategy.rb, line 18 def initialize(locker:, lock_ttl_proc:, jobs_repository:, memory_monitor:) @locker = locker @lock_ttl_proc = lock_ttl_proc @jobs_repository = jobs_repository @memory_monitor = memory_monitor end
no_uniqueness()
click to toggle source
# File lib/sidekiq_robust_job/uniqueness_strategy.rb, line 3 def self.no_uniqueness :no_uniqueness end
until_executed()
click to toggle source
# File lib/sidekiq_robust_job/uniqueness_strategy.rb, line 11 def self.until_executed :until_executed end
until_executing()
click to toggle source
# File lib/sidekiq_robust_job/uniqueness_strategy.rb, line 7 def self.until_executing :until_executing end
Public Instance Methods
resolve(strategy)
click to toggle source
# File lib/sidekiq_robust_job/uniqueness_strategy.rb, line 25 def resolve(strategy) case strategy.to_sym when SidekiqRobustJob::UniquenessStrategy.no_uniqueness SidekiqRobustJob::UniquenessStrategy::NoUniqueness.new( locker: locker, lock_ttl_proc: lock_ttl_proc, jobs_repository: jobs_repository, memory_monitor: memory_monitor ) when SidekiqRobustJob::UniquenessStrategy.until_executing SidekiqRobustJob::UniquenessStrategy::UntilExecuting.new( locker: locker, lock_ttl_proc: lock_ttl_proc, jobs_repository: jobs_repository, memory_monitor: memory_monitor ) when SidekiqRobustJob::UniquenessStrategy.until_executed SidekiqRobustJob::UniquenessStrategy::UntilExecuted.new( locker: locker, lock_ttl_proc: lock_ttl_proc, jobs_repository: jobs_repository, memory_monitor: memory_monitor ) else raise UnknownStrategyError.new(strategy) end end