Global subprocess terminated by invoking process?

Hi,

I am wondering whether a “Global Subprocess” invoked from a “Local Process” gets terminated once the “Local Process” terminates or ends.

What happens in the following example with the global subprocess once “Message Terminate” is received? Will it get terminated?

What happens in the following example with the global subprocess once “Message End” is received? I assume that the local process will still wait for the global subprocess to complete?!

In the first example - if the message arrives the global sub process will be cancelled and the instance will finish…
In the second example only after both the message arrives and the sub process has completed will the instance finish

@Niall With the same diagram above, I would like to know how the parent process (Local process) will also be terminate if child process (Global subprocess) terminated?

In the above diagram If the child process is terminated the parent process will continue as if the child process was completed.

You can throw an error event created by the child process to propagate to the parent and caught by a catch error event. This could be used to end the parent process.

@Niall may be this could be option, but I’m avoiding throwing error since its functional termination and not technical.
Optionally, I’m thinking to pass variable to parent from termination symbol in child process and based on it gateway in parent process will terminated its own flow. That would help me to avoid using error throwing events.
Just FYI :slight_smile:

That would also work perfectly well.

You should also keep in mind that in a lot of cases error events are not intended to be used for technically errors. They’re intended for business errors, so following best practices this would actually be a good case for using the events. That said - having an XOR gateway in the parent process after the call activity would work just fine :slight_smile:

1 Like