Hi there,
Is it good practice, to nest Cancellation Scopes in multi file workflows?
For an improved structure, I have split my entire process into a cascade of nested sub workflows. Each WF calls another sub workflow by InvokeWorkflowFile. The attended process is started by a user and it can be stopped by the user in the assistant e.g. if it is too long running. A process run logically consists of many subsequent sub business tasks or jobs (i.e. items to be processed), which can be seen as individual transactions. Now, I placed into some of the sub workflows a CancellationScope to gracefully handle an eventual user cancel event and to leave the sub step in a clean and ordered way, so that a subsequent re-start of the original process can bravely continue the remaining item queue.
Is this CancellationScope nesting a good idea? Will all the CancelHandlers in the nested scopes always be executed subsequently (e.g. in a LIFO style)? My impression so far is: mostly yes. However, I could not find a statement about that in the docs. And it appeared once or twice to me, that this might not be true ?!
And what is with try-catch-finally scopes? Will the finally blocks always be executed in case of a cancellation?
Thanks for your comments!