How to execute multiple Subjobs in parallel

Talend ESB Studio User Guide

EnrichVersion
6.3
EnrichProdName
Talend ESB
task
Design and Development
EnrichPlatform
Talend Studio

As explained in the previous sections, a Job opened in the workspace can contain several Subjobs and you are able to arrange their execution order using the trigger links such as OnSubjobOK. However, when the Subjobs do not have any dependencies between them, you might want to launch them at the same time. For example, the following image presents four Subjobs within a Job and with no dependencies in between.

The tRunJob component is used in this example to call each Subjob they represent. For further information about tRunJob, see Talend Components Reference Guide.

Then with the Job opened in the workspace, you need simply proceed as follows to run the Subjobs in parallel:

  1. Click the Job tab, then the Extra tab to display it.

  2. Select the Multi thread execution check box to enable the parallel execution.

    This feature is optimal when the number of threads (in general a Subjob counts one thread) do not exceed the number of processors of the machine you use for parallel executions. Otherwise, some of the Subjobs have to wait until any processor is freed up.

  3. If needed, fill the Parallelize Buffer Unit Size field with the number of rows you want to buffer for each of the threads handled in parallel before the data is processed and the buffer is cleaned.

    This setting is meaningful only if the Enable parallel execution check box is selected and the child Jobs or subjobs contain database output components.

For a use case of using this feature to run Jobs in parallel, see Using the Multi-thread Execution feature to run Jobs in parallel.