Cisco Cisco Workload Automation 6.3 User Guide
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).
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
that type.