Agent Group Distribution

Description

An agent group is a collection of agents placed together in a group to form a distinct unit. As a result, multiple agents that normally interact with one another or share common goals or objectives can be easily assigned to a group, allowing for improved organization and distribution of individual workflow objects within a multi-machine environment.  Agent Group Distribution further augments this concept by expanding performance and behavioral capabilities of individual agents contained within a group and enables support for process coordination and clustering by dictating the order in which each agent executes their associated workflow items, specifying whether all agents or only specific agents are to run their assigned objects, and under what circumstances.

Agent Group Distribution can eliminate errors and reduce the time spent on distributing a task normally performed on a group of computers. The agents assigned to those computers can simply be consolidated into a group. To ensure that task execution is performed by all agents in the group, its distribution properties can be set to Run on all agents, which will run the task simultaneously on all agents within the group.

Agent Group Distribution can also be used as a failover mechanism, which is the ability to transfer operations from a failed system to an alternative or backup system. To ensure that task execution completes successfully on at least one agent, distribution properties can be set to Run on each agent in order until a successful result. In this scenario, task execution is attempted in succession by each agent in the group and marked as a success upon completion by one of the agents. This will ensure that important, time sensitive tasks that may need to run during off hours are always completed successfully without any supervision.

Agent Group Distribution properties can be set via the Server Management Console by selecting Options from the Navigation bar and navigating to Default Properties -> Default Workflow Item Properties -> Agent Group Distribution.

NOTE: By default, these properties are inherited by all workflow items on the system unless they are overwritten via the individual agent, workflow or task level. For more details regarding inheritance hierarchies, see Property Inheritance.

 

Related Topics

Parameters

Agent Group Distribution preferences are separated into four options (as illustrated below). Each one exposes a distinct manner in which Agents in a group are allocated, thus, altering overall workflow performance.

Property

Description

Information regarding agent group subsets

Specifies how task execution or condition monitoring should be dispersed to individual agents contained in a group. The available options are:

  • Run on all agents - The specified task will run on all agents contained in the group simultaneously. Likewise, any condition will be evaluated by all agents in the group simultaneously. Workflow movement halts at the specified task or condition object until execution or evaluation is completed by every agent in the group. By default, the task or condition must complete successfully on all agents within the group in order for the Success condition to be true and the workflow to proceed to the next object. If task execution or condition evaluation fails on one or more agents in the group, the workflow proceeds in accordance with the Failure condition.

  • Run on each agent in order until a successful result - The specified task will run one at a time on each agent contained in the group until a successful result occurs on a particular Agent. Similarly, the specified condition will be evaluated one at a time by each Agent until a successful result occurs. Remaining Agents (if any) will be ignored. The order of execution is determined by how each Agent is arranged in the group via the SMC’s Agent Groups section. The first on the list will be the starting Agent. Workflow execution pauses at the specified task or condition object until execution is successfully completed on a given Agent. By default, the task or condition must complete successfully on at least one Agent within the group in order for the Success condition to be true and the workflow to proceed to the next workflow object. If the task/condition fails on all Agents in the group, the workflow proceeds in accordance with the Failure condition.

  • Run on agents in a round-robin fashion - During each workflow execution, the specified task will run on a single agent in the group. Likewise, during each workflow execution, the specified condition will be evaluated by a single agent in the group. Execution is set in a round-robin fashion with the order being determined by how each agent is arranged in the group via the SMC’s Agent Group section. The first Agent on the list will be the starting Agent. Workflow execution pauses at the task or condition object until execution or evaluation is complete. Success or failure is determined by the execution outcome of the agent.

It is important to note that this option only performs execution on a single agent during each workflow execution. For instance, on the initial execution of a workflow, the specified task will run only on Agent 1, which is the starting agent in the group. All other Agents are ignored. On the second execution of the workflow, the specified task will run only on Agent 2, which is the next agent on the list. All other Agents are ignored.

The repository always takes account of which agent in the group performed the most recent execution (whether that execution succeeded or failed); therefore, subsequent execution will always be performed by the proper agent. This holds true even if the BPA Server or Agent service is restarted or if the Server or Agent computer is rebooted.

  • Run on agents that meet the performance metrics - The task will run on only those Agents in the group that meet the performance criteria set for the selected Performance condition. Similarly, the condition will be evaluated by only those Agents that meet the performance criteria specified. Agents that don’t meet the criteria will be ignored. Workflow execution pauses at the task or condition object until execution on all applicable Agents are completed. By default, the task/condition must complete successfully on all applicable Agents within the group in order for the Success condition to be true and the workflow to proceed to the next workflow object. If the task/condition fails on one or more of those Agents, the workflow proceeds in accordance with the Failure condition.

If this option is selected, a drop-down list of all available Performance conditions becomes enabled allowing you to select the condition that should be analyzed during workflow execution. The Performance condition is ideal for monitoring servers in a back office environment, eliminating the need for human intervention. For example, the Performance condition can monitor system memory allocation thresholds. If available system memory goes below the monitored threshold, a task can automatically restart the system or determine which processes are consuming the most memory and restart those processes.