lib/sidekiq_unique_jobs/unlockable.rb
# frozen_string_literal: true module SidekiqUniqueJobs # Utility module to help manage unique keys in redis. # Useful for deleting keys that for whatever reason wasn't deleted # # @author Mikael Henriksson <mikael@zoolutions.se> module Unlockable module_function # Unlocks a job. # @param [Hash] item a Sidekiq job hash def unlock(item) SidekiqUniqueJobs::Job.add_digest(item) SidekiqUniqueJobs::Locksmith.new(item).unlock end # Unlocks a job. # @param [Hash] item a Sidekiq job hash def unlock!(item) SidekiqUniqueJobs::Job.add_digest(item) SidekiqUniqueJobs::Locksmith.new(item).unlock! end # 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 def delete(item) SidekiqUniqueJobs::Job.add_digest(item) SidekiqUniqueJobs::Locksmith.new(item).delete end # 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 def delete!(item) SidekiqUniqueJobs::Job.add_digest(item) SidekiqUniqueJobs::Locksmith.new(item).delete! end end end