[Cloud release: 2025.10.29]
[On-prem release: 2026 January]
[On-prem build: 26.01.21003]
Controls have been added for parallel script limits, per-script CPU caps, and configurable timeouts. Improves resource governance, prevents overload, and enhances system stability by ensuring safe, predictable script execution.
Limit amount of parallel jobs
A setting is available in Scheduler Management’s Settings tab that allows a user to control the maximum number of scripts that are executed in parallel on Scheduler Service. 0 meaning there is no limit, any positive value limits the number of script executors to that value. Any subsequent script that has to be executed at the same time will be put in a queue until an execution spot is freed by already executing script.
WARNING: child scripts are also affected by the limits, meaning if you have a master script that triggers a child script, and you have specified the max number to be 1, then the child script will be forever waiting for a free spot that is occupied by the master script. In such case a setting must be increased to 2, saved, and then a child script will be able to execute itself and finish the master script as well.
A notification message will be added to the output of the script saying that a script is waiting for a free spot in the execution queue. The message is shown right after a limit is discovered and a script is waiting for the spot, and then approximately every 5 minutes.
Timeouts
You can set an Execution Timeout for individual InMemory ETL projects.
In addition, you can also set an Execution Time Limit on a schedule that runs the project.
In case a schedule contains a timeout value and is different from 0 then that schedule’s timeout value will be applied. Otherwise the default execution timeout for the ETL project will be applied.
A value of 0 means no timeout is specified.
Limit CPU Consumption by scripts
Two settings can be added to an InMemory ETL project's properties:
CPUs limit - setting number of CPU’s allocated for a tiImport process. 0 value meaning there are no limitations. Any other positive value means the number of CPUs allocated for the process. Scheduler Service keeps track of scripts that are being executed at the moment and distributes the load across the CPUs evenly (see screenshot below where the 2 parallel scripts are allocated 1-4 and 5-8 CPUs respectively).
CPUs priority - setting base priority for a process. Default value is set to Below Normal. Idle, Below Normal, Normal and Above Normal values are available.
Comments
Please sign in to leave a comment.