Module: Simplekiq::OrchestrationJob

Extended by:
Forwardable
Includes:
Sidekiq::Worker
Defined in:
lib/simplekiq/orchestration_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(*args) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/simplekiq/orchestration_job.rb', line 12

def perform(*args)
  perform_orchestration(*args)

  # This makes it so that if there is a parent batch which this orchestration is run under, then the layered batches will be:
  # parent_batch( orchestration_batch( batch_of_first_step_of_the_orchestration ) )
  # If there is no parent batch, then it will simply be:
  # orchestration_batch( batch_of_first_step_of_the_orchestration )
  conditionally_within_parent_batch do
    OrchestrationExecutor.execute(args: args, job: self, workflow: orchestration.serialized_workflow)
  end
end

#workflow_plan(*args) ⇒ Object



24
25
26
27
# File 'lib/simplekiq/orchestration_job.rb', line 24

def workflow_plan(*args)
  perform_orchestration(*args)
  orchestration.serialized_workflow
end