Class: Dynflow::Executors::Sidekiq::OrchestratorJobs::WorkerDone
- Inherits:
-
InternalJobBase
- Object
- InternalJobBase
- Dynflow::Executors::Sidekiq::OrchestratorJobs::WorkerDone
- Defined in:
- lib/dynflow/executors/sidekiq/orchestrator_jobs.rb
Overview
handles resposnes about finished work form the workers or some event to handle on orchestrator side
Instance Method Summary collapse
Methods inherited from InternalJobBase
inherited, #telemetry_options, #worker_id
Methods included from Serialization::WorkerExtension::ClassMethods
Instance Method Details
#perform(work_item, delayed_events = nil) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/dynflow/executors/sidekiq/orchestrator_jobs.rb', line 14 def perform(work_item, delayed_events = nil) # Usually the step is saved on the worker's side. However if sidekiq is shut down, # then the step may not have been saved so we save it just to be sure if work_item.is_a?(Director::StepWorkItem) && work_item.step&.error&.exception_class == ::Sidekiq::Shutdown work_item.step.save end Dynflow.process_world.executor.core.tell([:work_finished, work_item, delayed_events]) end |