Difference between revisions of "Start Synch Block"

From PresenceWiki
Jump to: navigation, search
 
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
The Start Synch Block Node begins a synchronized block of task elements. Any task elements between this node and a
+
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:
 +
 
 +
 
 +
[[file:start_synch.png]]
 +
 
 +
===Locking Identifier===
 +
 
 +
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.
 +
 
 +
===Lock Timeout===
 +
 
 +
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.
 +
 
 +
<hr>
 +
 
 +
{{FlowControl}}

Latest revision as of 13:16, 20 August 2015

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:


Start synch.png

Locking Identifier

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.

Lock Timeout

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



Task Elements | Resources