Cisco Cisco Workload Automation 6.3 User Guide

Page of 412
320
Controlling Production
Queues in CWA
Launch immediately —The queue manager continually monitors for jobs entering queues with this option set. When 
a job enters this queue it is run immediately, even if the system is running at full capacity (at the system queue limit, 
or at an agent’s job limit).
System queue limit —The queue manager then monitors the total number of jobs running and compares it to the 
system queue limit value. If the system queue limit value is greater than the number of jobs currently running, the 
queue manager begins its search for the highest priority job starting with the following search criteria.
Queue hierarchy —The queue manager recursively evaluates all active and open queues in priority order to 
determine whether it can launch jobs that are waiting in the queue. Queues with the same priority are selected 
at random.
Queue limit —The queue manager compares the number of jobs running in the queue with the queue’s limit. 
Queues running at their limit are skipped. Queues not running at their limit use the job priority check.
Job priority —The job with the highest priority that is to be run on an agent not running at its limit is selected. If 
two or more jobs exist with the same priority, the job that was ready the earliest is the job that is run first.
The system queue is used for all default jobs and is the queue with the lowest priority.
Job Selection Examples
The following examples use a simple queue hierarchy made up of four queues. The examples assume that we have not 
reached the agent limits. The queue principles can apply to hierarchies of any size.
Example 1: Job Selection Based On Queue Hierarchy
In this queue setup, the system queue has a job limit of 10. This means that no more than ten jobs can run at the same 
time, no matter where they are run. The system queue has no queue priority level setting because no other queue can 
exist at the same level in the hierarchy. All queue limits and queue priorities are constant throughout the examples. The 
system is currently running at its limit.
If any one of the running jobs complete, the queue manager selects the highest priority job of the four waiting in Queue 
C, even though Queue A has a higher queue priority, because Queue C is at the lowest level in the hierarchy, is not running 
at its limit and has jobs waiting.
Example 2: Job Selection Based On Queue Limits and Queue Priority
Job Selected Based On Queue Limit
If a job completes in Queue B, the next job selected will be the highest priority job in Queue B, even though it is a lower 
priority queue than Queue C, and Queue C has jobs waiting in it. This is because Queue C is already running at its limit.
Job Selected Based On Queue Priority
Queue B is not running at its limit (10). This is because Queue B has a lower queue priority than Queue C. The queue 
manager has selected as many jobs as possible from the highest priority queue —up to it’s queue limit (5). What is 
remaining of the overall system limit is then run from the lower priority queue (10 —5 = 5).
Compound Queue Filters
You can create compound queue filters by mixing queue filter types. Repeat the steps for creating each queue filter. With 
compound filters, all filter conditions must be true for a job to qualify for the queue.
If you include multiple queue filters of the same type, a job qualifies for the queue if any one of the conditions match for 
that type.