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. You can add Agents by entering the Agent name or by applying filters.
Tip: When working with the Automation Engine system, 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 see Showing Windows Side by Side.
Object Definition
- Object class: System object
- Object type/Short form: HOSTG
This page includes the following:
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, to a Workflow with many Jobs on more than one Agent, you do the following:
- Create an Agent Group.
- Assign it the Agents.
- Define the Workflow on the Agent Group.
Agent Groups allow you to:
- Execute a task 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
Which Agent in the Group is Used?
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
- All active and inactive
For details 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 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.
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. 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 GET_ATT function to retrieve the Agent on which the task will run.
See also: