module SimpleMutex::SidekiqSupport::JobMixin
Public Class Methods
included(klass)
click to toggle source
# File lib/simple_mutex/sidekiq_support/job_mixin.rb, line 6 def self.included(klass) klass.extend(ClassMethods) end
Public Instance Methods
process_locking_error(error)
click to toggle source
override for custom processing
# File lib/simple_mutex/sidekiq_support/job_mixin.rb, line 60 def process_locking_error(error) raise error unless self.class.skip_locking_error? end
with_redlock(args = []) { || ... }
click to toggle source
# File lib/simple_mutex/sidekiq_support/job_mixin.rb, line 44 def with_redlock(args = [], &block) return yield unless self.class.locking? options = { params: args, lock_with_params: self.class.lock_with_params?, } options[:expires_in] = self.class.job_timeout unless self.class.job_timeout.nil? ::SimpleMutex::SidekiqSupport::JobWrapper.new(self, **options).with_redlock(&block) rescue SimpleMutex::Mutex::LockError => error process_locking_error(error) end