Module: Sidekiq::Worker::ClassMethods
- Defined in:
- lib/sidekiq_unique_jobs/testing/sidekiq_overrides.rb
Instance Method Summary collapse
-
#clear ⇒ Object
Clear all jobs for this worker.
-
#drain ⇒ Object
Drain and run all jobs for this worker.
-
#perform_one ⇒ Object
Pop out a single job and perform it.
- #unlock(job) ⇒ Object
Instance Method Details
#clear ⇒ Object
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 |
#drain ⇒ Object
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_one ⇒ Object
Pop out a single job and perform it
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 |