Sha256: a90f62cedd33fd385190b266b1721c3e90d983775dc66ba639f115627ce886cd

Contents?: true

Size: 847 Bytes

Versions: 14

Compression:

Stored size: 847 Bytes

Contents

# frozen_string_literal: true

module SidekiqUniqueJobs
  # Utility class to append uniqueness to the sidekiq job hash
  #
  # @author Mikael Henriksson <mikael@zoolutions.se>
  module Job
    extend self

    # Adds timeout, expiration, unique_args, unique_prefix and unique_digest to the sidekiq job hash
    # @return [void] nothing returned here matters
    def add_uniqueness(item)
      add_timeout_and_expiration(item)
      add_unique_args_and_digest(item)
    end

    private

    def add_timeout_and_expiration(item)
      calculator                = SidekiqUniqueJobs::Timeout::Calculator.new(item)
      item[LOCK_TIMEOUT_KEY]    = calculator.lock_timeout
      item[LOCK_EXPIRATION_KEY] = calculator.lock_expiration
    end

    def add_unique_args_and_digest(item)
      SidekiqUniqueJobs::UniqueArgs.digest(item)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
sidekiq-unique-jobs-6.0.25 lib/sidekiq_unique_jobs/job.rb
sidekiq-unique-jobs-6.0.24 lib/sidekiq_unique_jobs/job.rb
sidekiq-unique-jobs-6.0.23 lib/sidekiq_unique_jobs/job.rb
sidekiq-unique-jobs-6.0.22 lib/sidekiq_unique_jobs/job.rb
sidekiq-unique-jobs-6.0.21 lib/sidekiq_unique_jobs/job.rb
sidekiq-unique-jobs-6.0.20 lib/sidekiq_unique_jobs/job.rb
sidekiq-unique-jobs-6.0.16 lib/sidekiq_unique_jobs/job.rb
sidekiq-unique-jobs-6.0.19 lib/sidekiq_unique_jobs/job.rb
sidekiq-unique-jobs-6.0.13 lib/sidekiq_unique_jobs/job.rb
sidekiq-unique-jobs-6.0.12 lib/sidekiq_unique_jobs/job.rb
sidekiq-unique-jobs-6.0.11 lib/sidekiq_unique_jobs/job.rb
sidekiq-unique-jobs-6.0.10 lib/sidekiq_unique_jobs/job.rb
sidekiq-unique-jobs-6.0.9 lib/sidekiq_unique_jobs/job.rb
sidekiq-unique-jobs-6.0.8 lib/sidekiq_unique_jobs/job.rb