Class: Sidekiq::Recursive::Perform
- Inherits:
-
Object
- Object
- Sidekiq::Recursive::Perform
- Defined in:
- lib/sidekiq/recursive/perform.rb
Class Method Summary collapse
- .run(worker_instance, worker_id, argument) ⇒ Object
- .safe_process(worker_instance, argument) ⇒ Object
Class Method Details
.run(worker_instance, worker_id, argument) ⇒ Object
2 3 4 5 6 7 8 9 10 11 |
# File 'lib/sidekiq/recursive/perform.rb', line 2 def self.run(worker_instance, worker_id, argument) worker = worker_instance.class return worker_instance.process(argument) if worker_id == :failed_worker safe_process(worker_instance, argument) next_argument = Sidekiq::Recursive::ArgumentQueue.pop(worker) return Sidekiq::Recursive::Hooks::AfterAll.run(worker, worker_id) unless next_argument worker.perform_async(worker_id, next_argument) true end |
.safe_process(worker_instance, argument) ⇒ Object
13 14 15 16 17 |
# File 'lib/sidekiq/recursive/perform.rb', line 13 def self.safe_process(worker_instance, argument) worker_instance.process(argument) rescue worker_instance.class.perform_async(:failed_worker, argument) end |