Executing Workflows
Workflow objects automate the execution of multiple tasks. You define the Workflow logic through parameters, conditions and dependencies both in the Workflow and in its tasks. Manual intervention is only necessary if you define it so.
To understand how Workflows behave, read the following chapters first:
-
Stages that tasks go through during their execution:
- Workflow Logic
This page includes the following:
Overview
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.
-
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 Real Date) 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.
-
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
PromptSets are evaluated short 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.
Accelerating Workflow Completion
Administrator users can configure the system to speed up the execution of certain Workflows.
Usually, tasks are included in more than one Workflow. The Workflows that contain those tasks 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 tasks 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
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
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.
See also: