How can I determine the excution order of nodes?

How can I determine the excution order of nodes??

Nodes ‘follow the stream’. You can however use the so called
PassThrough node to have some sort of control if needed.

If you have disconnected branches and need to control the order you need to add a wait for method into the mix.

A code block containing [wait,pass][1] will ensure that the wait is completed before the pass goes onto the next node in the sequence.

If you need multiple branches to finish before the pass you can either collect them into a list and feed that into the wait input, or use [pass,wait1,wait2,wait3][0] and just keep adding wait# variables until you get the number you need. I prefer not generating the list as the single code block is faster.

Does TuneUp list the nodes is executed order or is it just left-to-right?

1 Like

Yes, with a caveat. Things usually happen fast at many stages of graph execution. In some cases with the current beta builds we’re seeing sub 1ms times. At that pace you can’t be certain A or B is happening first - I recommend you think of them as concurrent. This is usually the case at the beginning of graphs, but can happen further along as well if you have a bunch of stuff followed by a BIG SLOW OPPERATION which then feeds a bunch more stuff.

Right. For any case where you’re concerned with execution order, you’re probably dealing with slower individual nodes or at least slower portions of the graph. I’d guess those cases would (typically) be easily identifiable within TuneUp.

1 Like

Hi mr. Small.
This works great when the Node connected to the wait variable return anything but null (void).
I’m stuck trying to make it work when the wait workflow return is void. Could you help me? Thank you.

I just got it. Added a Start Transaction on the beginning of Node in wait, and a End Transaction after it. Now there’s a returning value and the WaitFor Node runs accordingly. \o/

The first example you showed was correct in passing the nodes as shown.

I am guessing that the next step in your graph is to set the new parameter values, is that correct?

If that is the case you need to end the transaction which created the parameter before setting the values as the parameter doesn’t exist on the elements until you commit the transaction.

1 Like

Correctly. Just added the End Transaction node between the void from Parameter.CreateProjectParameter node and wait from WaitFor node. Works great. \o/ Thank you.