Accelerating Workflow Completion

This client-wide function ensures that workflows containing the highest number of completed tasks are executed at the earliest possible time.

Background/Purpose

In certain environments it can be desirable to have Workflows finish at the earliest possible time. Numerous Workflows for the same tasks will start and finish at about the same time. By using this functionality it is possible to have Workflows complete successively and fast. This functionality makes sure that Workflows with the highest number of completed tasks are finished first.

Agent resources for such Workflows have to be shared on agents of an AgentGroup and sometimes the Workflows have to wait for resources. The previous behavior (default setting of key WF_COMPLETION_ACCELERATION to "NO") would then execute the first step in each of any number of Workflows, then the second step in each of them, and so on.
Setting the value "ABSOLUTE" adds an additional measure by which tasks in running Workflows are preferred, depending on the absolute amount of already completed tasks in the parent Workflow structure.

Default Setting

The key WF_COMPLETION_ACCELERATION in the UC_SYSTEM_SETTINGS variable has to be configured to activate the function. Two values are allowed, "NO" and "ABSOLUTE". The default value is "NO".

If the value is set to "NO", the behavior of previous versions will persist:
Workflows will start at the scheduled time and especially Workflows containing the same tasks can start at the same time. The tasks will start and complete in each Workflow one after another. Therefore these Workflows will finish at the same time.

If tasks are in a waiting status, the execution order is determined by

  1. Automation Engine priority
  2. FIFO (a first in - first out) mechanism

Completion Acceleration

To accelerate Workflow completion, set the value of the key in the WF_COMPLETION_ACCELERATION variable to "ABSOLUTE" ( UC_SYSTEM_SETTINGS - System-Wide Settings).
An additional measure will then be added, which prefers tasks in running Workflows, depending on the absolute amount of already completed tasks in the parent Workflow structure. The execution order will then be determined in this way:

  1. Automation Engine priority
  2. Task completion rate
  3. FIFO mechanism

See also: