You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 33 Next »

Introduction

  • Job chains can be seen as an assembly line on which multiple job nodes are passed, with each job making up one step in the processing of a chain.
  • Job chains allow to reuse the same jobs in multiple job chains with different parameter sets.
  • Job chains allow to map dependencies, e.g. by continued processing with different job nodes depending on the execution result of previous job nodes.
  • Job chains enable complex workflow patterns such as Split & Sync, see Example showing the synchronization of multiple job chains
  • Nested job chains can be used to control and parallelize the execution of multiple job chains.

Read more on this feature in the order and job chain documentation.

Forward Dependency

Job chains represent a sequence of jobs that implements forward dependency.

Job chain with single end nodes for success and failure

The jobs within the job chain will result in a unique successful end state or otherwise will use the same end state for failure.

 

Job chain with multiple end nodes for success and failure

The jobs will use a common end state in case of success and individual end states for failure

 

Job chain with individual successor nodes

The jobs are orgnized in a way that in case of error a job node is skipped an processing is continued with a later job node.

 

 

Management of Job Chains

Job chains are created either using the JobScheduler Object Editor (JOE), or using API methods in individual programs:

  • Firstly you create a job chain and the jobs that are part of this chain. Every position in a job chain is assigned a state and a job.
  • Then you create an order, i.e. a simple token that is assigned a state in a job chain (normally the beginning of a job chain). Optionally an order has a payload consisting of parameters that are processed by the jobs. When an order is added to the job chain, it is enqueued by JobScheduler according to the state of the order. The job assigned to this position then carries out the order. Additionally, each position in a job chain has a successor state and an error state. JobScheduler changes the state of an order after each job in the job chain has been processed. If the job step was successful, JobScheduler sets the successor state; otherwise it sets the error state.
  • The order then moves to another position in the job chain as defined by the new state.

Jobs within a job chain can be executed in multiple processes to handle parallel processing of orders.

  • No labels