cancel
Showing results for 
Search instead for 
Did you mean: 

Ensure serial child pipeline execution

kmiesse
Contributor

On the Pipeline Execute snap, if I have the Reuse checkbox unchecked and the pool size =1, does that ensure the executions of the child pipelines are serial and not parallel? I want to ensure only one instance of the child pipeline is running at any time and that one execution completes before another begins.

11 REPLIES 11

tstack
Former Employee

Yes, a pool size of 1 means that only one child will be executed at a time and the Pipeline Execute snap will wait for the current child execution to finish before starting the next one.

vyasyash
New Contributor III

But the drawback is you can’t leverage the parameters dynamically in this particular scenario.

Can you elaborate? The OP mentioned that reuse was off, so the parameters passed to the child pipeline can change for each execution.

vyasyash
New Contributor III

Actually we’ve developed a reusable component - service to reprocess failed transaction and then individual interface pipelines. In case of failures with interface pipelines, we will use the re-processing service to resend the failed transactions. By using pipeline execute in the reprocess service we want to achieve parallel execution on different failed pipelines with each failed transaction calling individual interface pipeline sequentially.

We get parallel execution of each pipeline and sequential processing of documents in the order of input (with reuse option set to 1), but this does not support change in pipeline parameter values. Hence we will have to send the payload, runid and parameters as input documents instead of pipeline parameters.

We’ve raised a ticket 20085 for this issue. If you’ve a solution for our situation please share will be really helpful.