mhenrixon/sidekiq-unique-jobs

View on GitHub
myapp/app/jobs/until_executed_with_lock_args_job.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

class UntilExecutedWithLockArgsJob
  include Sidekiq::Job

  sidekiq_options lock: :until_executed,
                  lock_args_method: :lock_args,
                  lock_timeout: 0,
                  lock_ttl: 600,
                  lock_limit: 2

  def self.lock_args(args)
    options = args.extract_options!
    [args[0], options["bogus"]]
  end

  def perform(*_args)
    logger.info("cowboy")
    sleep(1)
    logger.info("beebop")
  end
end