module Sidekiq::LockableJob::DEFAULT_LOCKABLE_JOB_SERVICE
Constants
- REDIS_PREFIX_KEY
Public Class Methods
handle_locked_by(keys, worker_instance:, job:)
click to toggle source
# File lib/sidekiq/lockable_job/lock_service.rb, line 21 def self.handle_locked_by(keys, worker_instance:, job:) keys = [keys] unless keys.nil? || keys.is_a?(Array) keys&.each do |key| raise LockedJobError.new("Locked by #{key}") if locked?(key) end # job is not locked and should be processed false end
lock(key)
click to toggle source
# File lib/sidekiq/lockable_job/lock_service.rb, line 9 def self.lock(key) redis.set(redis_key(key), Time.now.to_i) end
locked?(key)
click to toggle source
# File lib/sidekiq/lockable_job/lock_service.rb, line 17 def self.locked?(key) redis.exists(redis_key(key)) end
redis()
click to toggle source
# File lib/sidekiq/lockable_job/lock_service.rb, line 34 def self.redis $redis end
redis_key(key)
click to toggle source
# File lib/sidekiq/lockable_job/lock_service.rb, line 30 def self.redis_key(key) "#{REDIS_PREFIX_KEY}:#{key}" end
unlock(key)
click to toggle source
# File lib/sidekiq/lockable_job/lock_service.rb, line 13 def self.unlock(key) redis.del(redis_key(key)) end