Introduction
In a JS7 - Agent Cluster jobs in workflows are assigned a Subagent Cluster that includes a Selection and Scheduling Mode of Subagents:
- Subagent Clusters present a logical view of the way a given number of Subagents co-operate for job execution.
- The Selection makes use of one or more Subagents.
- The Scheduling Mode is one of:
- active-passive: execute jobs with the first Subagent and switch to the next Subagent only if the first Subagent becomes unavailable (fixed-priority clustering).
- active-active: execute each next job on the next Subagent (round-robin clustering).
- metrics-based: execute each next job on the Subagent that best matches metrics such as number of parallel tasks, CPU and memory consumption.
Active-Passive Subagent Cluster
A Subagent Cluster can include a single Subagent, a number of Subagents or all Subagents. All tasks are executed on the first Subagent. In case that the first Subagent becomes unavailable, then the next Subagent will be used (fixed-priority) in the ordering defined by the Subagent Cluster.
Director Agents in a Subagent Cluster can take an active part in job execution. Users are free to add Director Agents to a given Subagent Cluster. A minimum active-passive Subagent Cluster includes 2 Director Agents for job execution.
Error Handling
- If a Subagent is unreachable (unreachable or crashed) then it is not considered for job execution. No error is raised, but the next Subagent will be assigned the job.
- On normal termination the jobs in a Subagent will complete normally, no further jobs are accepted for execution.
- If the Subagent is crashed then running jobs will fail and orders for running jobs will be set to the failed state. Such jobs are restarted when restarting the Subagent. Alternatively, jobs can be restarted from the next Subagent when the crashed Subagent is reset. For details see JS7 - FAQ - How does JobScheduler terminate Jobs.
A Subagent Cluster is considered functional as long as one Subagent remains for job execution.
Resources
- JS7 - Agent Cluster - Active-Active Subagent Cluster
- JS7 - Agent Cluster - Metrics-based Subagent Cluster