How to ensure Transaction.Start executes before downstream nodes?

My script suddenly stopped working due to an attempt to modify the model outside of transaction warning:

I was hoping that inserting Transaction.Start node on the inputs would ensure that it completed before any downstream nodes that require the transaction.

Is there something extra I need to do to make sure the transaction is started in time? Or could something else be going wrong in the Transaction.Start node?

Update: I deleted the Transaction.Start node and re-added it, and now it works with no warnings :man_shrugging:

1 Like

Hi @jonathanJC32L ,

I almost never use Transaction.Start, if you want to make sure previous transactions are completely finished add a Transaction.End node instead of where you put the Transaction.Start.

2 Likes

if you’re interested in forcing some sequencing, look at the clockwork node ‘passthrough’ or similar. i think Orchid and Crumple both include something like a ‘wait for’ node.

1 Like

Ah, I see now that the other transaction.end didn’t complete before the next transaction.start.

Putting an extra transaction.end in front of every transaction.start solved the issue. But I wonder if I might inadvertently end a transaction that is in progress. So I will look into the forced sequencing suggested by mclough to make sure the different branches don’t clobber each other’s transactions.