Running tasks in parallel on Remote Engine
A Talend Remote Engine has always been able to run different tasks in parallel. From v2.12.0 onwards, it also supports concurrent run of identical tasks.
In other words, you can run multiple instances of a same task in parallel on a Remote Engine v2.12.0 and onwards.
This section explains the settings to be used to manage this parallel execution capability of a single Remote Engine, with or without this engine being part of a Remote Engine cluster.
Before you begin
- Ensure that you have the latest engine version installed.
- Ensure to apply concurrent programming techniques on your Job design and implementation so that your task is thread-safe, that is to say, adapted to parallel executions, especially if you decide to enable parallel runs of a task on a single Remote Engine. For example, the parallel runs must have consistent access to shared resources.
Procedure
Results
Troubleshooting: When multiple threads of your task are being deployed, one thread may
accidentally overwrite another thread, resulting in the failure of the overall
deployment.
To repair this issue, do the following:
- Open the org.talend.ipaas.rt.deployment.agent.cfg file.
- Add a new parameter to the
file:
lock.same.task.jobs.parallel.deployment=true
- Save the file and restart your engine.
This parameter locks a thread during the deployment to prevent it from being overwritten by the other parallel threads of the same Job.