...
- Run a specific job within a job chain in a number of parallel instances, i.e. split a job for parallel processing. Each instance is executed on a different Agent.
- The use case is intended for execution of the same job within a job chain in parallel instances, not for parallel execution of different jobs.
- We assume am application for end of day processing that creates balance statements for a larger number of accounts. The application is installed on a number of servers each equipped with an Agent. The processing is split in a way that each instance of the application processes a chunk of accounts. The chunk size is calculated from the available Agents, not just from configured Agents.
- A similar use case is explained with the How to split and join a dynamic number of job instances in a job chain. However, this use case is about using a different Agent for each parallel process instead of running parallel processes on the same Master or Agent.
- Join up jobs after parallel processing.
- Availability
Display feature availability StartingFromRelease 1.11.4 - See How to Execute Jobs in a Job Chain in Parallel for more information.
Solution Outline
- The number of parallel job instances is dynamically determined from the number of Agents that are available to run the application.
- A number of orders is created for a specific job that would be executed in parallel on different Agents. The number of orders corresponds to the number of Agents and each order is parametrized to process a chunk of accounts.
- Finally the parallel job instances are joined up for further processing.
...