Agent Groups (HOSTG)
An Agent Group combines Agents of the same platform and enables the execution of Jobs, File Transfers, Console and File system Events. Agent Groups determine which tasks will be started in which Agents thus distributing and optimizing the workload of the Agents in the group. For example, consider a Workflow with many tasks that run on different Agents. By collecting those Agents in an Agent Group, you achieve the following:
- Allow a task to execute on several Agents
- Distribute files to several Agents
- Monitor several Agents with Event or Remote Task Manager objects
- Monitor a task on the Agent with the lowest workload
Tip: You may need to work with many objects, lists and monitors simultaneously. To make your work easier, you can open them in different browser windows and arrange them side by side on your screen. For more information about this and other useful functions, see Opening and Arranging Multiple Views.
Object Definition
- Object class: System object
- Object type/Short form: HOSTG
This page includes the following:
Agent Group List
The following columns are displayed by default:
-
Name
-
Client
-
Platform
Platform type of the agent group
Note: This is not the operating system.
-
Mode
Criterion used by the group to distribute the workload
-
Parallel tasks
Maximum number of tasks running parallel
Allowed values: 0 to 9999 (default)
Note: If the value is set to 0, the Agent Group does not process tasks.
For more information, see Main Page Tables.
Which Agent in the Group is Used?
One of the columns in the list is Mode. The Agent Group Mode is the criterion used by the group to distribute the workload. The following modes are available:
-
Any (randomly selected Agent)
A randomly selected Agent with enough resources is assigned for processing the task.
-
First
The first available Agent is assigned, according to the order defined when assigning Agents to the group.
-
Next listed
On the next active Agent according to the order specified in the Assigned Agents table.
In case of multiple tasks using the same Agent Group, a round robin system is applied. Thus, task A would start running on the first Agent and task B, which is started later, would run on the second Agent, and so on.
-
Load dependent
On the Agent with the lowest workload in the group according to the data delivered by the resources allocation.
The following is taken into consideration:
- Preference is given to Agents without resource limits.
- The Agent with the lowest workload is used if there are resource limits for all Agents in the group.
-
All active
On all agents
-
All active and inactive
On all agents, including those that were inactive at the time of activation.
For more information, see Defining Agent Groups.
When Does Agent Allocation Occur?
When you create an object, you specify when it should be generated. You do this on the Attributes page, where you can choose one of the following possibilities:
-
Generate Task at: Runtime (Late agent assignment)
The Agent Group evaluates the available resources and assigns an Agent to the task only if it has enough resources. If this is the case, the resources are reserved immediately; if not, the Agent Group evaluation waits and the status of the task switches to Waiting for the host of an AgentGroup (1688).
-
Generate at activation time
The start time of the task is used for selecting the Agent. The status of the task switches to Waiting for resource if no sufficient resources are available on the Agent at that moment. It waits until processing is possible again. It does NOT change the Agent even if a different one had enough resources.
For more information, see Attributes Page.
Waiting for Host Status and Agent Availability Checks
You can see which tasks are processed by an Agent Group on the list of Tasks in the Process Monitoring perspective. They are collected in an entry with type C_HOSTG (Agent Group Container).
The status of a task is Waiting for Host if no Agent can be retrieved at the time of execution. This can happen if, for example, all Agents were inactive, the Agent Group filters did not supply results, the Agents had no resources, and so on. The system checks whether Agents are available and active at regular intervals that can be specified in the UC_SYSTEM_SETTINGS variable using the AGENTGROUP_CHECK_INTERVAL key. For more information, see UC_SYSTEM_SETTINGS - Systemwide Settings.
A task starts as soon as an Agent can be selected for the task.
Workflows contain additional options that allow you to specify that tasks that use the same Agent Group should run on the same Agent. Without this option, it could happen that in particular modes or if Agents become inactive or active, different Agents were selected because tasks start at different times.
Restarted tasks run on the Agent that was originally selected.
Use the script function GET_ATT to retrieve the Agent on which the task will run.
See also: