I imagine your use case is something like: “Wait for a signal until a timeout occurs”
Flowable has the Event Based Gateway for just that use case. Every signal flow leaving the gateway must connect to an intermediate event of some sort. The process only follows the path where the event occurred.
If this is not your use case, can you describe it in more detail?
Hello wwitt thank you very much for your answer.
I don’t think this can help in my case.
Let me try to explain it a little better based on my previous picture.
My process reach an intermediate timer T1 and will stay there until the timer date is reached and go to user task “DA”.
In between, (before reaching the timer date), there is a external busyness event that say that I don’t need to wait for this timer anymore, so I need to cancel it and take another flow to the user task “AA” instead of waiting for the timer to expire.
How can I cancel my timer job which is running and force the flow to “AA” instead of “DA”?
This flow will execute DA if a 3 month timer expires or AA if the DoNotWait signal is received (essentially cancelling the timer). Only one of the paths will get executed based on which event occurs first.
The first problem we’ve solved, but now we’ve another one.
At the first time everything works perfectly, the signal is sent, the timer is deleted but when we launch the timer another time and send the same signal another time, the list of executions of the code below is empty.
I think we need a bigger view of your process and what you are trying to accomplish. How are you launching the timer another time? How is the timer configured?