Forum Discussion

kmiesse's avatar
kmiesse
Contributor
8 years ago

Pipeline execution timeout

I have subpipelines started via the Pipeline Execute snap in a parent that runs continuously (not Ultra) as a listener. There may be long periods of no documents flowing through the parent to the subpipeline. The subpipeline contains a DB snap that has a timeout for its connection. The subpipeline fails with this timeout if enough data isn’t flowing through it often enough. I want to terminate the subpipeline if it hasn’t had any documents through it after X amount of hours. Is there a way from within the subpipline or its parent to monitor this and terminate the subpipeline?

6 Replies

    • kmiesse's avatar
      kmiesse
      Contributor

      I have it set to Reuse executions and a Pool size of 10.

  • tstack's avatar
    tstack
    Former Employee

    This sounds like a bug, the snap should not be failing like this. We’re going to take a look at it.

    How are you keeping the pipeline running continuously? The safest approach would be to have the snap that is keeping the pipeline alive finish after some amount of time and then start up another execution.

    • kmiesse's avatar
      kmiesse
      Contributor

      The pipeline has a continuous JMS listener that keeps it executing. Its on a scheduled task so that if it happens to stop it starts up again right away. I can’t set the pipeline or task to stop after a certain period of time, correct? I would have to create another pipeline to monitor other pipeline executions, correct?

      • tstack's avatar
        tstack
        Former Employee

        Ah, I was hoping the JMSConsumer had a timeout. It does have a ‘Control Destination’ that I think you can use to stop it.

        The ability to stop a scheduled task after a period of time was added in the 4.10 release (see the tasks page). Be aware that stopping a pipeline is a pretty harsh operation, any snaps that are actively working will be interrupted and you might lose data.