Idea ID 2748345
Currently when you would like to have a flow waiting for a bit longer period of time you would use a Sleep action in the Flow. the Big disadvantage with this is that the Flow is blocking an Execution Thread on the respective RAS. on a loaded environment with potentially varying load patterns with a lot of flows that use the Sleep action this can result is slowing down environment as Flows are fighting for remaining Threads that are not in Sleep.
suggest to introduce a Task in OO that basically puts the Flow into Paused or similar state.
the advanatage of Paused state is the Flow is removed from the RAS/execution handling.
at the same time wakeup time or pause time in seconds must be given to the Task.
At the specified Time the Flow will be resumed.
Just increasing Execution threads is not an option as other loadscenarios would then overload the RAS due to the uneven CPU/RAM/Execution thread balance.
Benefits / Value -Explain why is this important? (When used, by which role, and benefits / value)-
This allows OO to be used in larger scale environments where certain longer running Flows need a pause state that does not consume system resources while in the paused state.
Supporting scalability and also proper use of resources.
also probably any autoscaling function of OO in CDF can be impacted by above issue as the pure CPU load on a RAS does not increase when all Execution threads are in sleep mode.
-Explain how would you like this idea designed / implemented
an OO Central Background thread watching Wakeuptimer for every centrally paused flow.
additionally that could be also used for UI pausing (specifying a wakeup time)
additionally an OO Action/Task that can be used in a flow to put Flow into Paused mode while still finishing this task. (critical is here correct timing between Central putting Flow to pause and the step finishing). only using OO APi within the Flow to put itself to pause is not sufficent as you cant rely that OO pauses the Flow exactly after this step which means that additional steps would be executed afterwards without pause which are only intended to be executed after wakeup.
This could be implemented as an extensible pause solution supporting similar problem scenarios like "SA Wait for Job"
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.