Module: Sidekiq::Worker::ClassMethods
- Includes:
- SidekiqUniqueJobs::Unlockable
- 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.
Methods included from SidekiqUniqueJobs::Unlockable
after_unlock, logger, unlock, unlock_by_arguments, unlock_by_jid, unlock_by_key
Instance Method Details
#clear ⇒ Object
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 |
#drain ⇒ Object
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_one ⇒ Object
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 |