module SidekiqUniqueJobs::Unlockable

Utility module to help manage unique keys in redis. Useful for deleting keys that for whatever reason wasn't deleted

@author Mikael Henriksson <mikael@mhenrixon.com>

Public Instance Methods

delete(item) click to toggle source

Deletes a lock unless it has ttl

This is good for situations when a job is locked by another item @param [Hash] item a Sidekiq job hash

# File lib/sidekiq_unique_jobs/unlockable.rb, line 29
def delete(item)
  SidekiqUniqueJobs::Job.add_digest(item)
  SidekiqUniqueJobs::Locksmith.new(item).delete
end
delete!(item) click to toggle source

Deletes a lock regardless of if it was locked or has ttl.

This is good for situations when a job is locked by another item @param [Hash] item a Sidekiq job hash

# File lib/sidekiq_unique_jobs/unlockable.rb, line 38
def delete!(item)
  SidekiqUniqueJobs::Job.add_digest(item)
  SidekiqUniqueJobs::Locksmith.new(item).delete!
end
unlock(item) click to toggle source

Unlocks a job. @param [Hash] item a Sidekiq job hash

# File lib/sidekiq_unique_jobs/unlockable.rb, line 13
def unlock(item)
  SidekiqUniqueJobs::Job.add_digest(item)
  SidekiqUniqueJobs::Locksmith.new(item).unlock
end
unlock!(item) click to toggle source

Unlocks a job. @param [Hash] item a Sidekiq job hash

# File lib/sidekiq_unique_jobs/unlockable.rb, line 20
def unlock!(item)
  SidekiqUniqueJobs::Job.add_digest(item)
  SidekiqUniqueJobs::Locksmith.new(item).unlock!
end