Start Synch Block
The Start Synch Block Node begins a synchronized block of task elements. Any task elements between this node and a corresponding [End Synch Block] node will be prevented from running simultaneously, whether those elements are in the same Task (for instance in a separate thread) or in a different Task on a different server.
When dragging a Start Synch Block node into your Task, the user is presented with the following dialog:
This field should represent the identifier for this lock. This means that any other Start Synch Block nodes with the same identifier will wait for this one to be completed (by the corresponding End Synch Block node) before entering the block. For example, Task A has a Start Synch Block with the identifier "LOCK_A". Task B also has a Start Synch Block with the same identifier. Whichever of these Tasks runs first, or reaches the Start Synch Block node first, will prevent the other from running until the corresponding End Synch block node has executed.
If another Start Synch Block node shares the identifier and currently owns the lock, this node will wait for this period to gain the lock. If it cannot obtain the lock in that time period the current Task or thread will exit with an error.
Maximum Retain Time
This causes the synchronize lock to only be held for a maximum of n seconds. When that period of time has expired the lock will be released, allowing other Tasks to continue, regardless of whether the End Synch Block node has executed.
Task Elements > Flow Control Task Elements > Start Synch Block
|Schedule Nodes | Decision Point Nodes | Start of Task | End of Task | Error Handler|
|Throw Exception | Passive Node | Log Entry | Sleep For n Seconds | While Node | Loop Node | Exit Loop Node | |Switch Node|
|Fork Execution | Join Forked Threads | Start Synch Block | End Synch Block | Event Notification Nodes|