Skip to main content

Is the execution of the process thread-safe or transactional?

The execution of a process in the Workflow Engine is thread-safe but not transactional.

Thread safety is ensured through the process status and locks. When a process changes its status from Idle to Running, it becomes locked for further requests, such as executing commands or triggering timers. For example, if two commands are called concurrently, only the first one will execute, and then the process will be locked, preventing the execution of the second command, which will result in an error.

Regarding transactions, when discussing processes in the Workflow Engine, there is no concept of a transaction. This means that you cannot isolate the execution of a series of commands in any way or rollback the results of process execution.