Module: Sidekiq::Worker::ClassMethods

Defined in:
lib/sidekiq_unique_jobs/testing/sidekiq_overrides.rb

Instance Method Summary collapse

Instance Method Details

#clearObject

Clear all jobs for this worker



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

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



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

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

Raises:

  • (EmptyQueueError)


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

def perform_one
  raise(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

#unlock(job) ⇒ Object



44
45
46
# File 'lib/sidekiq_unique_jobs/testing/sidekiq_overrides.rb', line 44

def unlock(job)
  SidekiqUniqueJobs::Unlockable.unlock(job)
end