Module: Sidekiq::Worker::ClassMethods

Includes:
SidekiqUniqueJobs::Unlockable
Defined in:
lib/sidekiq_unique_jobs/testing/sidekiq_overrides.rb

Instance Method Summary collapse

Methods included from SidekiqUniqueJobs::Unlockable

after_unlock, logger, unlock, unlock_by_arguments, unlock_by_jid, unlock_by_key

Instance Method Details

#clearObject

Clear all jobs for this worker



31
32
33
34
35
36
37
38
39
40
# File 'lib/sidekiq_unique_jobs/testing/sidekiq_overrides.rb', line 31

def clear
  jobs.each do |job|
    unlock(job) if Sidekiq::Testing.fake?
  end
  # if Sidekiq::VERSION >= '4'
  #   Queues.jobs[queue].clear
  # else
  jobs.clear
  # end
end

#drainObject

Drain and run all jobs for this worker



9
10
11
12
13
14
15
16
17
# File 'lib/sidekiq_unique_jobs/testing/sidekiq_overrides.rb', line 9

def drain
  while (job = jobs.shift)
    worker = new
    worker.jid = job['jid']
    worker.bid = job['bid'] if worker.respond_to?(:bid=)
    execute_job(worker, job['args'])
    unlock(job) if Sidekiq::Testing.fake?
  end
end

#perform_oneObject

Pop out a single job and perform it



20
21
22
23
24
25
26
27
28
# File 'lib/sidekiq_unique_jobs/testing/sidekiq_overrides.rb', line 20

def perform_one
  fail(EmptyQueueError, 'perform_one called with empty job queue') if jobs.empty?
  job = jobs.shift
  worker = new
  worker.jid = job['jid']
  worker.bid = job['bid'] if worker.respond_to?(:bid=)
  execute_job(worker, job['args'])
  unlock(job) if Sidekiq::Testing.fake?
end