Executing Workflows
Workflow objects automate the execution of multiple tasks. When you design a Workflow, you establish the basic logic by inserting tasks in a specific sequence and by linking them. However, there are many more parameters that allow you to fine-tune this logic and create complex, intelligent structures.
When a Workflow is activated, all its child tasks (also the children of embedded Workflows) are activated one after the other. The time at which the child tasks are generated, however, depends on the following factors:
-
On the Attributes Page of executable objects you define when they should be generated, whether at activation or at runtime. This setting is relevant for tasks that are inserted in Workflows.
- The generation time of tasks that are Generated at activation time is probably close to the Workflow and child task activation times. This means that, for example, their scripts are processed at an early stage of the Workflow execution.
- The generation time of tasks that are Generated at runtime can deviate, depending on the task time and status dependencies. Their scripts are processed later, when the Workflow reaches the task.
Tip: If the Generate Task at: Runtime option is set in most of the tasks, the Workflow is activated faster.
For more information, see Executing Objects: Generating Task at Activation Time vs Generating Task at Runtime.
-
Calendar Conditions
Calendars (CALE) and their Calendar Events define dates that you can apply to the execution of tasks as time conditions. Calendar can cause the execution of tasks to be skipped on certain dates. For more information, see Calendar Tab.
-
Time Dependencies
It is possible to specify a date (based on the Understanding the Real Date in Objects) and a time before which a task cannot start. It is also possible to specify a date after which a task cannot start or end (also based on the real date). For more information, see Time & Dependencies.
-
Definition of Checkpoints
Checkpoints verify that the dependencies of a task are met and that it has started at the defined times. If they have not started, the checkpoint can activate the execution of a different task instead. This is also defined on the Time & Dependencies tab.
-
Status Dependencies
Executing or not executing a task can also depend on the status of other tasks in the Workflow. This is also defined on the Time & Dependencies tab.
-
Preconditions
During the generation of a task, the system evaluates its preconditions. If they have been defined, the execution of the task and of the Workflow depends on whether they are met or not.
Note: A Restart of a task in a workflow does not re-run the preconditions for that task as the preconditions have been fulfilled already.
-
Definition of Breakpoints
It is possible to set breakpoints on particular tasks. The breakpoint stops the execution of the Workflow when it reaches that task. For more information, see General Tab.
PromptSet Evaluation in Workflows
If you assign a PromptSet to a task, that PromptSet is evaluated before a task is generated. The time at which a task is generated depends on its Generation Settings.
Usually, there is no need for user interaction to populate the PromptSet forms because their default values can be defined on the PromptSets Tab. However, it is possible to change this behavior and force PromptSets to be displayed on screen for users to populate them. The exact time at which they pop up depends on what is selected in the task properties (General tab).
For more information about setting dependencies, see General Tab.
Speeding Up Workflow Completion
Administrator users can configure the system to speed up the execution of certain Workflows.
You can include one and the same object in multiple Workflows. The Workflows that contain the same objects can start at about the same time. This means that those Workflows share the resources of the Agent or Agent Groups on which the common objects run. The default behavior of the system is for Workflows to execute the first task, then the second, then the third, and so on. The result is that they often have to wait for Agent resources. The system allocates resources based on the following parameters:
- Automation Engine Priority assigned to the task
- FIFO (a first in - first out) mechanism
Administrator users can optimize this behavior in the WF_COMPLETION_ACCELERATION key in the UC_CLIENT_SETTINGS system variable. By setting its value to ABSOLUTE, the system considers an extra parameter after the priority and before the FIFO mechanism. Workflows that contain the higher number of already completed tasks are preferred when allocating resources. With this function, the order of execution is based on the following parameters:
- Automation Engine Priority assigned to the task
- Task completion rate
- FIFO (a first in - first out) mechanism
For more information, see UC_CLIENT_SETTINGS - Various Client Settings.
Scripting Error Impact in Workflows
The impact of scripting errors depends on their generation time:
- If a task in a Workflow is generated at the same time as the Workflow and the task has a generation error, the generation of the Workflow is canceled.
- If a generation error occurs in an object in which the option Generate Task at: Runtime is activated, the object is canceled. The Workflow still continues.
Monitoring or Modifying a Workflow
You can view and modify the execution of a Workflow in the Process Monitoring perspective, both in the Tasks table and in the Workflow monitor.
Workflow modifications are valid for the ongoing execution. The general definitions in the Workflow object remains unchanged.
Tip: When troubleshooting, you may want to open multiple objects, tasks or lists in different browser windows and arrange them side by side on your screen. For information on how to do it, see Example: Designing and Monitoring Objects.
Blocked Tasks in Workflows
If a task is blocked, the processing of the current branch does not continue from this object onward. Manual intervention is required (for example, unblock task, cancel or start next task). Other branches continue processing. If there are no other branches or if they have already been processed, the status of the Workflow is Workflow is blocked.
Time Zones in Workflows and in their Child Tasks
When you execute a Workflow, its children are not affected by the Time Zone defined for the Workflow. They have their own Time Zone definition. In addition, you can specify an extra time zone for a particular task in the Workflow on the Time & Dependencies tab. You access this tab by selecting the task in the Workflow and clicking the Properties button on the toolbar.
See also: