class SidekiqUniqueJobs::Orphans::Reaper
Class DeleteOrphans provides deletion of orphaned digests
@note this is a much slower version of the lua script but does not crash redis
@author Mikael Henriksson <mikael@mhenrixon.com>
Constants
- REAPERS
-
@return [Hash<Symbol,
SidekiqUniqueJobs::Orphans::Reaper
] the current implementation of reapers
Attributes
@!attribute [r] conn
@return [Redis] a redis connection
Public Class Methods
Source
# File lib/sidekiq_unique_jobs/orphans/reaper.rb, line 40 def self.call(conn = nil) return new(conn).call if conn redis { |rcon| new(rcon).call } end
Execute deletion of orphaned digests
@param [Redis] conn nil a connection to redis
@return [void]
Source
# File lib/sidekiq_unique_jobs/orphans/reaper.rb, line 56 def initialize(conn) @conn = conn end
Initialize a new instance of DeleteOrphans
@param [Redis] conn a connection to redis
Public Instance Methods
Source
# File lib/sidekiq_unique_jobs/orphans/reaper.rb, line 106 def call if (implementation = REAPERS[reaper]) implementation.new(conn).call else log_fatal(":#{reaper} is invalid for `SidekiqUnqiueJobs.config.reaper`") end end
Delete orphaned digests
@return [Integer] the number of reaped locks
Source
# File lib/sidekiq_unique_jobs/orphans/reaper.rb, line 66 def config SidekiqUniqueJobs.config end
Convenient access to the global configuration
@return [SidekiqUniqueJobs::Config]
Source
# File lib/sidekiq_unique_jobs/orphans/reaper.rb, line 76 def reaper config.reaper end
The reaper that was configured
@return [Symbol]
Source
# File lib/sidekiq_unique_jobs/orphans/reaper.rb, line 96 def reaper_count config.reaper_count end
The number of locks to reap at a time
@return [Integer]
Source
# File lib/sidekiq_unique_jobs/orphans/reaper.rb, line 86 def reaper_timeout config.reaper_timeout end
The configured timeout for the reaper
@return [Integer] timeout in seconds