While Node

From PresenceWiki
Revision as of 08:26, 12 August 2015 by Rob (Talk | contribs)

Jump to: navigation, search

While Node

In Presence Tasks, it is impossible to link a Node into an earlier Node in the Execution Path as this leads to infinite recursion.

However looping functionality is often desirable, and the While Node serves this purpose - it will continue to repeat execution of subsequent Nodes as long as the conditions specified are met. This Node is most useful if you wish to repeat a process a certain number of times, or as long as certain other conditions remain true.

Here is an example of a pseudo-Task that uses a While Node:


This example performs the following:

  1. Start of Task
  2. Set Task Variable ${count} to 0 (zero).
  3. Tests ${count} value is less that 100
  4. Increments ${count}
  5. Runs a repetitive Task (100 times).

As long as the While Node test conditions evaluate to true the following Nodes will be executed. As soon as the test evaluates to false it will cede execution. This is an example of Iterative Execution Path.

While Node Iteration can be slow on limited CPU/memory machines due to nature of the Presence Context being cloned on each iteration, if you encounter this, you might want to use a different strategy such as creating a temp table in a database and then use the built in iteration functionality or Presence.

Using the While Node

Drag the "While" Task Element from the toolbox onto your Task Edit View. You will then be presented with the following Dialog Box:


You can create conditions by dragging the Variable or Column names from the left hand panel into the main panel. When doing so you will be asked to input the condition:


You can add one or more conditions, and they can be arranged in nested groups separated by and / or logic. This allows you to create a complex condition such as:

Country = USA


State = Nevada


City = Las Vegas
City = Boulder


More detailed information on Rules and Conditions can be found in the Rules discussion.

See Also

Task Elements > Flow Control Task Elements > While Node

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