Queues in TA
TA includes a queue manager to optimize throughput and the allocation of system resources for scheduled and unscheduled jobs. The queue manager assigns jobs to queues when they are ready to run and makes decisions about when to launch them based on available execution slots. The capacity that is available is determined either by the system queue limit or the sum of the job limit values for each licensed agent, whichever is smaller.
Queues can limit the number of jobs running on a computer (or network of computers) at any given time. The queue manager always decides which jobs to launch based on a priority structure that includes queue hierarchies, queue limit, job limits, queue priority levels and job priority levels.
Queues are the main factor used to control when and how a job runs but there are other factors that influence when a job actually runs. Even if the queue manager releases a job to its queue, the job will not necessarily run at that time unless other factors that restrict the release of jobs are met. If the system is not running at the system queue’s capacity limit, if a slot is available on the job's designated queue, if a slot is available on the job’s designated agent and if any resources the job requires are available, then a job with all its dependencies met can run immediately.
Queue Concepts
Hierarchical Queue Structure
Queues are hierarchical. You can see the level of each queue in the Queues console pane by observing the level of indentation from the left edge of the pane. System Queue, the default queue, is at the root level of the hierarchy. All other queues fall below the system queue.
You can expand or collapse parts of the queue tree using the collapsed and expanded signs, the same way you use the Navigation pane of the TA Client. Each queue in the hierarchy can contain jobs, job groups and other queues.
A parent queue displays above and to the left of its children on the Queues pane. All queues to the left of a queue are parent queues. A child queue is nested below and to the right of a queue. All queues to the right of the system queue are child queues. Child queues are restricted by the limits and priority level of their parents.
The queue record also shows each queue’s limit and priority level. The limit defines how many jobs can run from that queue at the same time. The priority indicates which queue takes precedence when the Queue Manager searches for the next job to run.
Queue Filters
Queue filters determine how jobs are assigned to queues when they are ready to run. Queue filters include and exclude jobs based on the job’s properties. When a job is ready to run, the queue manager uses the filters to find a queue for the job. If there is more than one queue that the job can be assigned to, the queue with the highest priority is chosen. If there is no queue that matches the job’s properties, the job will enter the system queue and will be evaluated with the lowest priority.
How Jobs are Assigned to Queues
The queue manager is responsible for assigning jobs to queues. You cannot directly assign a job to a queue in the job definition, but you can set up queues so that you control which jobs get assigned to them. By setting up queues to accept jobs based on their job class (using job class queue filters), you can indirectly assign jobs to queues by directly assigning them to a job class in the job definition.
When a job is ready to run, the queue manager begins its search through the queue hierarchy to find the most appropriate queue to assign the job to. Starting one level below the system queue, in priority order (high to low) it chooses the first match of job properties with queue filters, then moves to the next level, if any. This process is repeated until there are no more levels, or until there are no more queues that will accept the job. If a job cannot be matched with any queue, it is added to the system queue.
Example: The figure below shows how four jobs are assigned to four different queues. The second level of queues uses queue filters that accept either scheduled jobs or unscheduled jobs. The third level, under the queue that accepts scheduled jobs only (Queue A), has three queues that accept jobs based on their job class. There is a third catch-all queue (Queue E) in this level that accepts all scheduled jobs that are not of the Payroll or Accounting job class. Jobs can be assigned to the parent if no child queue qualifies.
This table describes the job assignments:
Job |
Queue |
Reason |
---|---|---|
Job A |
Queue D |
Job A is a scheduled job that is assigned to the Accounting job class. It qualified for Queue A before reaching its final destination Queue D |
Job B |
Queue C |
Job B is a scheduled job that is assigned to the Payroll job class. It is also qualified for Queue A before reaching its final destination Queue C |
Job C |
Queue B |
Queue B is the only queue that accepts unscheduled jobs |
Job D |
Queue E |
Job D’s job class doesn’t match with Queue C or Queue D. Queue A isn’t chosen because Queue E has a higher priority than Queue A. If Queue E did not exist, Job D would be assigned to Queue A, because Queue A only requires that the job is scheduled |
How the Queue Manager Selects the Next Job to Run
The queue manager determines which job to run next according to a series of checks. The list describes each check in order.
-
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 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
These 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: 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: 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.
Successive Compounding of Child Filters
When jobs are assigned to queues, they pass through each parent filter before they reach their destination queue. The job in the destination queue therefore meets all the criteria of the destination queue’s filter plus each of its parent’s and grandparent’s queue filters. During the search for the right queue to assign to a job, each successive queue filter acts using AND logic, further narrowing down which queue will become its destination queue.
Assigning Jobs to Specific Queues
You cannot directly assign a job to a queue. However, you can configure your definitions to consistently assign jobs to run in specific queues. TA is designed with intelligent queue software that determines the best queue based on each job’s properties. Once the queue structure has been set up for your business cases, jobs will automatically enter the appropriate queue. For details on how to send a job to a specific queue, see Sending Jobs to a Specific Queue.
Guidelines for Creating Queues
These are a set of guidelines to help you create queues that meet your scheduling needs. These guidelines are suggestions, not requirements. The way your queue hierarchy is structured is entirely up to you.
-
Queue Names – Use queue names that define what the queue is used for. A queue named Manufacturing Jobs makes more sense than a queue named A1.
-
Queue Hierarchies and Queue Filters – Hierarchies, combined with queue filters let you create specific queues for specific types of jobs, giving you more task management control. Hierarchies also help you avoid mistakes by visually organizing how jobs run in the overall schedule. For example, you could have each queue parent only accept jobs of a particular class. You could then subdivide child queues by having each accept jobs that are owned by a particular workgroup or user.
-
Child Queue Priority Levels – Give all sibling queues under the same parent different priority levels, otherwise the queues are selected randomly when a job is assigned.
-
Job Limits and Queue Limits – The settings that control the number of jobs that run on a machine or network are the agent’s job limit and the queue’s queue limit. Consider these limits carefully. Though the system queue limit controls how many jobs can run overall at any one time, make sure it is large enough to accommodate the sum of all the agents’ job limit values.
You could set queues in hierarchies with limits reflecting the maximum acceptable load for the queue, and then regulate the entire system load by setting the system queue limit to a percentage of its maximum.
Example: Suppose the system queue has three child queues only, Queue A, Queue B, and Queue C with a queue limit of 10 each. Thus, the maximum possible load is 30 jobs. However, you could set the system queue with a limit of 20, 66% of maximum, and only 20 jobs will run at one time, but the underlying queue functionality is the same. In effect, you decrease (or increase) your scheduling load with one control.
-
Hours Available – You can submit jobs that do not need to be run immediately to a queue that is set to operate after hours. An example is to use this option to free up resources during the day.
When the time comes to operate, the jobs begin to run. When the queue closes, it continues to finish jobs that are being run, and halts all waiting jobs until the next time it is open.
-
Launch Immediately – Create one or two queues with the launch immediately queue option for those emergency situations where a user absolutely needs a job to run as fast as possible. You will be able to use this for manually overriding a given assignment or for queue bumping.
-
Queue Bumping – Add queue bumping for queues where some jobs never launch or wait too long to launch. The queue that is bumped to should have a higher priority than the previous queue, or the jobs may wait even longer to start.
-
Catch All Child Queues – Lower-priority child queues with no queue filters at each family level will catch jobs accepted by the parent queue, but not accepted by its children’s queue filters. This reduces the chances that the system queue (the lowest priority queue) will run these jobs.
-
Single Threading – You can use a queue to single-thread jobs that require exclusive access to a particular resource, such as to a database. For example, you can set up a queue with a job name mask queue filter to accept all jobs with the r1_* job name mask and give the queue a limit of 1. When you set up jobs that require the resource, add a job name prefix r1_ before the job name. The jobs with that particular prefix can now safely share the resource.
Queues Interface
Click Definitions > Queues on the Navigation pane to display the Queues pane.
Buttons
-
Add Queue – Displays the Queue Definition dialog to create a new queue.
-
Edit Queue – Displays the Queue Definition dialog to edit the selected queue.
-
Copy Queue – Creates a copy of the selected queue with the same information as the selected queue, except for the name.
-
Delete Queue – Removes the selected queue definition from the TA database.
-
Refresh – Updates the data in the current pane.
-
Print – Displays the Reports pane to view and print your queues. For more information, see Monitoring Production.
-
Where Used – Allows to view the objects to which the selected queue has been referred.
Search Field
Enter text that you want to search for within the columns displayed into this field.
Note: This field at the top right of the grids will only search text columns that are not grayed out and are string-based.
Columns
-
Status Light – Shows whether the queue is accepting jobs or not.
-
Name – The name of the queue.
-
Priority – The queue’s priority number.
-
Limit – The maximum number of jobs the queue will accept.
-
Active – How many jobs in the queue are active.
-
Waiting – How many jobs in the queue are waiting to run
-
Enabled – Whether or not the queue is enabled.
-
Modified – The last time the queue definition was modified.
Queues Preferences Dialog
If you select Preferences from the View main menu while viewing the Queues pane, the Queues Preferences dialog appears.
From the Queues Preferences dialog, you can select which columns are displayed in the Queues pane and in what order they appear.
-
A checkmark to the left of a column title indicates that it will be displayed in the pane. No checkmark indicates that it will not be displayed.
-
To rearrange the order in which the columns are displayed, select the column and click the up or down arrow.
Navigation Context Menu
When you right-click in the Navigation pane while viewing the Queues pane, the Navigation context menu displays.
The Queues Navigation context menu contains these elements:
-
Add Queue – Displays the Queue Definition dialog to add a new queue. Has the same function as the Add Queue button.
-
Preferences – Displays the Preferences dialog for the Queues pane.
-
Print – Displays the Reports pane so that you can view and print your queue definitions. Has the same function as the Print button on the toolbar.For more information, see Monitoring Production.
-
Export – Saves the data in the current pane as an ASCII text file. You can then use the file data in other applications.
-
Refresh – Updates the data in the current pane.
Queues Pane Context Menu
When you right-click in the Queues pane, the Queues pane context menu displays.
This describes the items in the Queues pane context menu:
-
Add Queue – Creates a new queue through the Queue Definition dialog. TA will insert the queue as a child of whichever queue is selected at the time.
Note: All queues have a parent, except the system queue.
-
Edit Queue – Edits the selected queue by displaying the Queue Definition dialog.
-
Delete Queue – Deletes the selected queue.
-
Enable – Reactivates the queue after having been disabled.
-
Disable – Prevents the queue from accepting jobs.
-
Print – Prints the selected queue’s data.
-
Where Used – Allows to view the objects to which the selected queue has been referred.
Queue Definition Dialog
The Queue Definition dialog displays whenever adding or editing a queue. The queue can be available all of the time or it can be limited to operating only during a specified time window.
Common to All Tabs
-
Queue Name – The name of the queue (up to 30 characters).
-
Parent – The queue one level above in the queue tree. The queues above another queue are called parent queues. Queues below another queue are called child queues. If no queue is named in the parent field, the queue will be a child of the system queue.
-
Limit – The number of jobs that can run in the queue at the same time.
Note: The limit of the system queue determines the overall number of jobs that TA can run at any time. Limit values are displayed after the queue name in the Queues pane.
-
Priority – Sets a queue priority relative to other sibling queues (child queues with the same parent). If all child queue priority values are the same, there is no queue precedence. The job could equally go to any of the child queues.
Priority values are displayed after the queue name in the Queues pane. Jobs in queues with higher priority values will be launched before jobs in queues with lower priority values.
-
Hours Available – Sets the time window during which the queue operates.
Example: You can set queues to run only at night or only during the day. When a queue closes, the queue manager attempts to reassign jobs in that queue to another qualifying queue that is open. If it cannot reassign the jobs to another queue, the job will remain in the closed queue and will not launch until it reopens. Specify times by either using am or pm after typing the time (with colon), e.g., 1:15pm for 1:15 pm or using the 24-hour clock (with colon) to separate the hours and minutes, e.g., 13:30 for 1:30 pm.
-
Always – Sets the queue’s availability to 24 hours a day. If no times are specified in the From and To fields, the queue is assumed to be available at all times and the Always option is automatically selected.
-
Enabled –The Enabled option makes the queue active or inactive. You cannot make a queue that has jobs in it inactive.
Queue Definition Dialog – Filters Tab
The Filters tab of the Queue Definition dialog displays queue filters associated with the queue. Queue filters define how jobs are assigned to queues. A combination of queue filters can provide precise control of which jobs run in a particular queue.
The Filters field displays queue filters associated with the queue. These queue filters define how jobs are assigned to queues. You can combine queue filters in any way you choose.
Each defined filter is marked with a blue diamond and lists its criteria. If the filter has excluding criteria, it shows a red minus sign. If the filter has including criteria, it displays a green plus sign.
This tab contains these elements:
-
Add – This button creates a new filter to the queue definition.
-
Edit – This button edits an existing queue filter.
-
Delete – This button deletes an existing queue filter from the queue definition.
Queue Filter Context Menu
When you right-click in the Filters field on the Filters tab of the Queue Definition dialog, the Queue Filters context menu displays. The menu options echo the functions of the Add, Edit and Delete buttons.
The Queue Filters context menu contains these elements:
-
Add Filter Condition – Displays the queue filter condition menu to select a queue filter. Selecting one of the queue filters displays its Queue Filter Condition dialog.
-
Edit Filter Condition – Displays the Queue Filter Condition dialog to edit the selected queue filter.
-
Delete Filter Condition – Deletes the selected queue filter.
Queue Filter Conditions
The Queue Filter Conditions menu displays when adding a queue filter. TA provides precise control of which jobs run in a particular queue through the use of queue filters.
The Queue Filter Condition dialog displays by selecting a queue filter from the Add submenu on the Filters page of the Queue Definition dialog. Precise control of which jobs run in a particular queue is achieved by using a combination of queue filters wisely to include or exclude various conditions.
This menu contains these options:
-
Job Name – Includes or excludes only jobs with the given job name(s). Jobs need to be defined in the TA database. You can click Browse inside the dialog to search for a job name.
-
Job Name Mask – Includes or excludes all jobs with the job name mask(s). You can include the wild cards * and? in the job name mask. An asterisk masks one or more characters or numbers, and a question mark masks a single character.
-
Job Group – Includes or excludes only jobs that are members of a particular job group. You need to define a job group before you can refer to it in a filter.
-
Job Class – Includes or excludes jobs based on their job class. You need to define a class before you can refer to it in a filter.
-
Command Name – Includes or excludes all jobs that execute that command.
-
Command Name Mask – Includes or excludes all jobs that execute a command that matches this mask.
-
Command Path – Includes or excludes all commands that execute from the specified directory or subdirectory. Note that you must specify the full path name; you cannot use relative path names.
-
Job Owner – Includes or excludes all jobs owned by a user or workgroup.
-
Runtime User – Includes or excludes jobs whose command and environment are owned by the runtime user. The job definition may or may not be owned by that user.
-
Agent – Includes or excludes jobs that run on the agent specified. You can use this filter to manage jobs that run on a particular agent.
-
Agent List – Include or exclude jobs associated with an agent list. You can use this filter to manage jobs that run on the agents listed in the agent list.
-
Priority Range – Includes jobs within a given job priority range. Job priority values range between 0 and 100, where 100 is the highest priority.
-
Estimated Duration – Includes jobs that have an estimated duration within a range of two specified values (in minutes).
-
Scheduled vs. Unscheduled – Select either scheduled jobs or unscheduled jobs only. You can use this setting to control the submission of unscheduled jobs.
-
Operator Release vs. Automatic – Select either jobs that are set to be released by an operator or only jobs that enter the schedule automatically.
-
SAP Job (Intercepted) – Selects (or intercepts) SAP jobs according to specified criteria based on the SAP instance, user and job name.
Queue Definition Dialog – Bumping Tab
The Bumping tab of the Queues Definition dialog is used to specify the launch priority of a queue which determines which jobs the queue will launch or dispatch.
-
No priority bumping – Disables priority bumping (default).
-
Launch immediately – Bypasses other queues, overriding all launch priority criteria and limit tests. Jobs assigned to a queue with this option will launch immediately, regardless of how many jobs are currently running.
-
Increase job priority – Ensures lower priority jobs eventually launch if they have been waiting for a long time. Jobs that are waiting in a queue will increase their priority by a designated number of priority points in proportion to the length of time spent in the queue.
When a job’s priority reaches 100, it can optionally bump to a higher priority queue, queue Z, with a job priority of 0. The job then bumps its priority level according to that queue’s bumping allowance.
Note: When using this option, make sure that the designated queue where the job is being bumped to has a higher queue priority value than the original queue; otherwise, the jobs will wait even longer to launch.
-
Nice Value (UNIX only) – Defines the CPU scheduling priority assigned by TA for Unix jobs. TA uses a 0 to 40 scale to rate the nice value with 1 as the lowest value and 40 as the highest value and with 21 as the default value. If the value is 0, then TA does not modify the nice value assigned by the process's operating system.
Example: This formula is used to convert the TA nice value to the Unix nice value as displayed by the ps command for the Solaris, HPUX, and AIX operating systems: 40 - (TA nice value-1)=Unix nice value. As an example, a TA value of 24 converts to a Unix nice value of 17, 40-(24-1) = 17. If using the Linux operating system, the formula used by TA is 20 - (TA nice value-1) = Unix nice value. As an example, a TA value of 15 converts to a Unix nice value of 6, 20-(15-1) = 6.
Note: This setting only applies to jobs that run on UNIX agents.
-
Job Class (SAP only) – Specifies a designated job class to all TA-defined SAP jobs that are launched from a particular queue. When released, SAP jobs are assigned to the designated job class based on the queue association. The default job class for all predefined Queues is C.
Prerequisite: Make sure that you enable the Edit Native Priority function in the Queues category of the security policy to allow a user to configure the SAP job class setting.
Note: Jobs created within SAP maintain their original job class designation. For more information, see the SAP Job Class section in the Working with SAP Jobs chapter of the Tidal Automation Adapter for SAP Guide
Queue Definition Dialog – Current Jobs Tab
The Current Jobs tab of the Queue Definition dialog displays details on the jobs currently residing in the queue. You can also release unscheduled jobs that are waiting from this tab.
This tab contains these elements:
-
Active Jobs – Selecting this option displays all jobs that are currently active in the queue. The adjacent number indicates the total of jobs currently active in the queue.
-
Waiting Jobs – Selecting this option displays all jobs that are currently waiting in the queue to be launched. The adjacent number indicates the total of jobs currently waiting in the queue.
If neither of the options are selected, no jobs are displayed in the Current Jobs field. Each job displayed in the field has a color-coded status light to appraise a job’s status at a glance. The color green indicates a job that is in active or launched status, the color yellow indicates a job in a waiting status and the color red indicates a job unable to run due to an unavailable resource.
The field listing the current jobs in the queue has these columns of information about the jobs:
ID – The identification number assigned to the job by TA .
Job – The name of the job.
Status – The current status of the job in TA .
Pri – The priority number assigned to the job.
Duration – The time in minutes that a job has remained in its present status within the queue.
External ID – The identification number assigned by jobs created in applications other than TA .
-
Agent – The name of the agent assigned to the job. A context menu displays by right-clicking within the list of queued jobs.
It has these options:
Release – Launches the selected job that is in waiting status.
Refresh – Updates the information for the current jobs in the queue.
Auto Update – Automatically updates the information for the current jobs in the queue.
Queue Definition Dialog – Description Tab
A free-text field of up to 255 characters (optional), for describing the queue.
Queue Procedures
Queues let you optimize throughput and allocate system resources for scheduled and unscheduled jobs. The TA queue manager assigns jobs to queues when all their dependencies have been met, and decides when to launch jobs based upon the available system resource slots. The maximum number of slots available is determined either by the limit that you set in the system queue, the sum of each queue’s limit or the sum of each licensed agent’s job limit.
Queues can limit the number of jobs running on a computer or a network of computers at a given time.
-
If the system is not running at its capacity, a job can run immediately provided that all of its dependencies are met.
-
If the system is running at its capacity, the TA Queue Manager decides which jobs launch based on a priority structure that includes these in order of importance:
Status
Description
Queue priority levels
Jobs in active and open queues at higher priority levels run first.
Queue limits
Only jobs in queues not running at their allowable limit can be launched.
Agent job limits
Only jobs assigned to agents not running at their allowable limit can be launched.
Job priority levels
Jobs with the highest priority (assigned in the job definition) in the queue are run first.
-
Queues are displayed in a hierarchy. Each item in the hierarchy is a queue and can contain jobs. You define the queue limit to set the number of jobs that can launch from any individual queue. You also define a priority for each queue.
Adding a Queue
You can add a queue anywhere in the queue hierarchy. When you add a queue it is positioned under the parent queue that you select. The jobs that the queue can accept must first match the parent’s queue filter.
To add a queue:
-
Click Definitions > Queues on the Navigation pane to display the Queues pane.
-
Choose the parent queue under which you want to place your queue.
-
Click Add on the TA toolbar or right-click and select Add Queue from the context menu to display the Queue Definition dialog.
-
Specify values in the Queue Name, Parent, Limit and Priority fields. For more information, see Queue Definition Dialog.
Note: It is best if no two sibling queues have the same queue priority value.
-
Specify the queue filter(s) you want to be associated with this queue. For more information, see Queue Filters and Queue Filter Conditions.
-
Click the Bumping tab.
-
If you want your queue to launch jobs immediately, select the Launch immediately option. Jobs will launch regardless of whether the system is running at its capacity or not.
-
If you want jobs to be bumped to different priorities and to different queues if they are waiting for a long time, specify the Priority bumping options. Be sure that the queue to which jobs bump has a higher priority than the current queue.
-
If you are running Unix jobs, you can select the Nice Value which defines the CPU scheduling priority for jobs from this queue. The value must be an integer from 1 to 40. The default value is 21. Higher nice values result in lower execution priority.
-
-
Click the Hours fields at the bottom of the dialog, type the queue’s hours of availability.
-
Click the Description tab and type a description for the queue.
-
Click OK to save the queue. The queue is added to the Queues pane and displays below the specified parent queue.
Adding a Queue Filter
Queue filters determine how jobs are assigned to queues. You can add filter criteria (conditions) to a queue at any time. To add a queue filter:
-
Click Definitions > Queues on the Navigation pane to display the Queues pane.
-
Right-click the queue and from the context menu select the Edit Queue option or double-click the queue to display the Queue Definition dialog.
-
Click the Filters tab and click Add.
-
Choose the type of queue filter you want to add from the context menu. For more information about queue filters, see Queue Filter Conditions. The specific queue filter dialog appears. Note that most queue condition dialogs contain an option to exclude the jobs with the specified criteria. This option lets the queue accept all jobs that do not match the criteria.
-
Click OK to accept the filter. Click Cancel to discard the filter.
-
The filters you select will be added to the queue definition. They are displayed in the Filter field on the Filter tab of the Queue Definition dialog as follows:
-
The filter name is marked by a diamond symbol.
-
Included criteria are marked with a plus (+) symbol.
-
Deleting Queues
A queue can only be deleted if no jobs are waiting in it or currently running from it.
To delete a queue:
-
Disable the queue:
-
Click Definitions > Queues on the Navigation pane to display the Queues pane.
-
Right-click the queue and from the context menu select Disable Queue or double-click the queue, and clear the Enabled option in the Queue Definition dialog.
-
-
Choose the queue to delete when the queue is empty of jobs.
-
Right-click and select Delete Queue from the context menu or click Delete on the TA toolbar or press the DELETE key on your keyboard.
-
Click OK in the confirmation dialog to delete the queue.
Deleting Queue Filters
Queue filters determine how jobs are assigned to queues. You can delete queue filter criteria from a queue definition at any time.
To delete a queue filter:
-
Click Definitions > Queues on the Navigation pane to display the Queues pane.
-
Right-click the queue and from the context menu select the Edit Queue option or double-click the queue to display the Queue Definition dialog.
-
Click the Filters tab.
-
Choose the filter you want to delete and click Delete. Excluded criteria are marked with a minus (-) symbol.
Disabling Queues
If you disable (deactivate) a queue that is currently in use, it will no longer accept new jobs, but all jobs that are currently running in it will run to completion.
To disable a queue:
-
Click Definitions > Queues on the Navigation pane to display the Queues pane.
-
Right-click the queue and from the context menu select Disable Queue or double-click the queue and clear the Enabled option in the Queue Definition dialog.
Editing a Queue
You can change the properties of a queue at any time, even while it is in use.
To edit a queue:
-
Click Definitions > Queues on the Navigation pane to display the Queues pane.
-
Double-click the queue whose filters you want to view or right-click and from the context menu select the Edit Queue option to display the Queue Definition dialog.
-
Edit the Queue Name field to change the name of the queue.
-
Edit the Parent field to move the queue to the new parent. Remember that jobs must match the parent’s filter before a child queue is evaluated.
-
Edit the Limit to increase or decrease the number of jobs that can run in the queue.
-
Edit the Priority field to increase or decrease the priority relative to sibling queues. Remember not to assign the same priority to multiple queues with the same parent.
-
Choose the Enabled option to enable the queue. Clear this option to disable the queue (make it inactive). Note that inactive queues cannot accept jobs.
-
Add or edit the queue filter(s) as desired in the Filters field.
-
Click the Bumping tab. On this tab, set whether you want your queue to Launch immediately or if you want to enable Priority Bumping and its parameters.
Note: If necessary, adjust the queue’s hours of availability in the Hours fields.
-
Click the Description tab to edit the queue’s description.
Editing a Queue Filter
Queue filters determine how jobs are assigned to queues. You can modify queue filter criteria for a queue at any time.
To edit a queue filter:
-
Click Definitions > Queues on the Navigation pane to display the Queues pane.
-
Right-click the queue and from the context menu select the Edit Queue option or double-click the queue to display the Queue Definition dialog.
-
Click the Filters tab.
-
Choose the filter you want to edit and click Edit.
The Queue Filter Condition dialog for the queue filter displays. You can now edit the filter criteria.
Moving a Queue to a New Parent
You can move a queue to any location in the queue hierarchy below the system queue.
To move a queue:
-
Click Definitions > Queues on the Navigation pane to display the Queues pane.
-
Double-click the queue that you want to move, or right-click and from the context menu select Edit Queue to display the Queue Definition dialog.
-
Change the name of the parent queue in the Parent field using the drop-down menu.
Note: Keep in mind that a child queue can only accept jobs that first pass the filter criteria of its parent.
Sending Jobs to a Specific Queue
You can indirectly send jobs to a queue by using the job class feature.
To send a job to a specific queue, follow this example:
-
Define a job class called To Queue B.
-
Click Definitions > Job Classes on the Navigation pane to display the Job Classes pane.
-
Right-click and select Add Job Class from the context menu.
-
Click the Job Class Name field, and then type To Queue B.
-
Click the Description field, and then type This Job Class is used to route Jobs to Queue B.
-
Click OK.
-
-
Create Queue B with a To Queue B job class filter.
-
Click Definitions>Queues on the Navigation pane to display the Queues pane.
-
Choose System Queue.
-
Right-click and select Add Queue from the context menu.
-
Type Queue B in the Queue Name field.
-
Set the Limit value and queue Owner as desired.
-
Set the Priority value to a value higher than the queue that would normally accept the job.
Example: If the default queue, Short Unscheduled Jobs, normally accepts the job and its priority is at the default of 50, set Queue B’s priority to 55.
-
Click Add on the Filters tab and select Job Class from the drop-down menu.
-
Choose the To Queue B job class.
-
Click OK to close the Queue Filter Condition dialog.
-
Click OK to close the Queue Definition dialog and return to the Queues pane.
-
-
Edit the definition for your job by associating it with the To Queue B job class.
-
Click Definitions > Jobs on the Navigation pane to display the Jobs pane.
-
Double-click the job you want to run from Queue B.
-
Click To Queue B on the Job Class field,
-
Click OK.
-
The job will now type Queue B, even though you did not directly assign it to the queue.
Viewing Queues
Click Definitions > Queues on the Navigation pane to display the Queues pane.
Viewing a Queue’s Filters
To view a queue’s filters:
-
Click Definitions > Queues on the Navigation pane to display the Queues pane.
-
Double-click the queue whose filters you want to view, or right-click and from the context menu select Edit Queue. The Queue Definition dialog appears.
-
Click the Filters tab. The filters associated with this queue are listed in the Filters field.