Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Minor changes to text

Table of Contents

Scope

This article is about methods that can be used with the JobScheduler for executing jobs within a job chain Jobs within a Job Chain at the same time.

See the How To Synchronize Job Execution Across Job Chains article for methods about synchronizing the execution of jobs Jobs in different Job Chains.

...

Using JITL Jobs for Parallel Execution within a Job Chain

There are a number of methods Three JITL Jobs are available for configuring the parallel execution of Jobs in a Job Chain:

  • JobSchedulerJobChainSplitter
    • The Splitter Job is used to divide processing of a main Job Chain into a number of child Job Chain segments that are then processed in parallel.
    • A Join or Sync Job may be defined later in the Job Chain to bring processing of these child segments back to a single thread.
    • The Splitter Job generates separate Orders for each of the parallel child Job Chain segments. The Splitter Job will then move processing of the main Job Chain to a Join or Sync Job, if such a Job is defined later in the main Job Chain. See the Job Chains article for more information about the patterns that can be executed with the Splitter Job.
  • JobSchedulerJoinOrders
    Display feature availability
    StartingFromRelease1.11.4
    For the static configuration of the parallel execution of different Jobs:Using JITL split and join Jobs:
    • The Join Job is used to start or continue processing of a main Job Chain after a predefined number of Orders running on child segments of a Job Chain have been completed.
    • The Join Job is designed for a large number of parallel Orders and is significantly faster for this purpose easier to configure and significantly faster than the Sync Job but described below. Note that the Join Job can only be used within a Job Chain.
    • Note also that the Join Job waits for a predefined number of Orders to be completed - it simply counts orders and does not require specific Orders.
    • The Join Job provides a plug-in replacement for the Sync Job described below for sync/join operations within a Job Chain. This means that users of JobScheduler 1.11.4 or newer wishing to improve performance of the Sync Job can simply exchange the Jobs.
  • JobSchedulerSynchronizeJobChains
    • The main function of the Sync Job is to synchronize the execution of Jobs in different Job Chains.
    • Note that the Sync Job can also be used with JobScheduler versions 1.11.3 and older to synchronize the execution of Jobs within a Job Chain. However, the Sync Job is only suitable for use in situations where performance is not an issue - i.e. situations with only a small number of parallel Orders - typically one Order for each Job Chain.

Examples for Static configuration

For the static configuration of the parallel execution of different Jobs:

Examples for Dynamic configuration

Any number of instances of a Job can be dynamically generated and executed in parallel in a Job Chain. This is done using a custom Generate Job and the JITL Join Job.

The following articles describe examples and provide download files demonstrating the dynamic configuration of parallel job instances:

See also

 

Display children header

Further Resources

...