Agent Groups (HOSTG)
An agent group combines agents of the same platform and enables execution of jobs, file transfers, console and file system events. You can add agents by entering the agent name or by applying filters.
Object Definition
Object class: System object
Object type/Short form: HOSTG
Background/Purpose
To be able to execute tasks you require an agent, which starts and monitors them, and provides the current status information. In addition, they distribute the workload deciding which tasks will be started in which agents. For example, you may want to execute a task such a workflow with many jobs on more than one agent. For this purpose you create an agent group, assign it the corresponding individual agents and 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?
When you define an agent group, in addition to specifying the platform on which it runs and the agents that are included in the group, you also indicate the Mode. This is the criterion used by the group to distribute the workload, that is, to decide which agent in the group will be used for processing each task.
The following modes are available:
-
Randomly selected agent
Any agent with enough resources is assigned for processing the task.
-
The first active agent in the table
The first available agent is assigned, according to the order defined when assigning agents to the group.
-
The next agent listed in the table
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.
-
The agent with the lowest workload
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.
For details see Defining Agent Groups.
-
On all active agents
- On all active and inactive agents
When does Agent Allocation Occur?
When you create an object, you specify when it should be generated. You do this on the Attributes Pages of Executable Objects. For example:
You have two possibilities:
-
Late agent assignment: Generate at runtime
If you select this option, 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 agent selection. The status of the task switches to Waiting for resource in case 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.
An agent group can only contain agents of the same platform.
See also: