LoopPrograms
This program runs a list of programs in a loop.
If continueAfterError=yes
and an error occurs, the remaining programs in the current iteration
are skipped and the loop continues with the next iteration. Otherwise an exception is thrown.
If this program is executed on multiple processing nodes, the iterations can be computed in parallel,
see parallelization. The first process serves as load balancer
and the other processes are assigned to iterations according to processCountPerIteration.
For example, running a loop containing three iterations on 13 processes with processCountPerIteration=4
,
runs the three iterations in parallel, with each iteration being assigned four processes.
With parallelLog=yes
all processes write output to screen and the log file.
As the output can be quite confusing in this case, running GroupPrograms with an extra outputfileLog
for each iteration (use the loop variables for the name of the log files) might be helpful.
Name | Type | Annotation |
---|---|---|
loop | loop | subprograms are called for every iteration |
continueAfterError | boolean | continue with next iteration after error, otherwise throw exception |
processCountPerIteration | uint | 0: use all processes for each iteration |
parallelLog | boolean | write to screen/log file from all processing nodes in parallelized loops |
program | programType |