Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Minor changes to 'Parallel Processing'

...

Flowchart
JobA1 [label="Job A1",fillcolor="lightskyblue"]
JobA2 [label="Job A2",fillcolor="lightskyblue"]
JobA3 [label="Job A3",fillcolor="lightskyblue"]
JobB1 [label="Job B1",fillcolor="orange"]
JobB2 [label="Job B2",fillcolor="orange"]
JobB3 [label="Job B3",fillcolor="orange"]
JobC1 [label="Job C1",fillcolor="lavender"]
JobC2 [label="Job C2",fillcolor="lavender"]
JobC3 [label="Job C3",fillcolor="lavender"]
 
JobA1 -> JobB1 [label=" start job chain B "]
JobA1 -> JobA2 [label=" skip job chain B "]

JobB1 -> JobB2 -> JobB3
JobB3 -> JobA2 [label=" continue job chain A "] 

JobA2 -> JobC1 [label=" start job chain C "]
JobA2 -> JobA3 [label=" skip job chain C "]
 
JobC1 -> JobC2 -> JobC3
JobC3 -> JobA3 [label=" continue job chain A "] 

Parallel Processing Job Chain Pattern

'Split & Sync

...

' or 'Split & Join'

  • Two Job Chains B and C are executed in parallel and are controlled by the initiating Job Chain A.
  • The initiating Job Chain A splits execution into two Job Chains B and C.
  • The execution of Job Chain B and C is synchronized and Job Chain A is continued.

...

Job chains are created either using the JobScheduler Object Editor (JOE), or using API methods in individual other 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 An order is then created for the job chain. This is 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.

...