Creating a Queue
A queue contains processes waiting to be processed by one or more process servers. Queues allow:
- Resource limiting - you can limit the number of processes running on a queue.
- Routing using queue providers - queues can route processes to one or more process servers.
A queue can be served by more than one process server at the same time. You can link a queue to a process server by creating a queue provider. When a process enters the queue it will be executed by an active process server that serves the queue.
A queue can be open or held. While a queue is held, the central Redwood Server will not start any new processes in the queue.
A queue is automatically held if:
There are no process servers associated with the queue.
The time window on the queue is held.
All queue providers are held. A queue provider is held if:
- The queue provider has been put on hold by an operator.
- The process server associated with the queue provider is stopped.
A queue might appear held to you while it is open to others; this is usually due to the fact that you cannot see any of the running process servers that are serving the queue.
A queue can also be held and released by operators, a queue held by an operator will be in status ClosedHeld. If a queue is held, no more processes will start in that queue.
It is also possible to hold the individual queue providers (for example, to hold a provider linking the queue CRM to the process server CR6 ). This allows the queue to continue feeding processes to other process servers. This is useful when it is necessary to shut down a single process server, but leave the queue feeding others. The process to follow in this case is:
- Hold each queue provider that connected to the process server you want to shut down.
- Wait for all processes currently running on the process server to reach a final state.
- Shut down the process server.
When starting up, the reverse process is necessary:
- Start up the process server.
- Release each queue provider.
Queues are part of the Environments section in the navigation bar. The following standard queues are provided with Redwood Server:
- System - the queue for processing system processes.
Please note that you cannot change (hold, for example) the System queue, so you should create your own for scheduling your System processes.
note
Redwood recommends you to specify a time zone on a queue, especially when you tie a time window to it to ensure the correct time is used.
Tabs & Fields
The following table illustrates the fields of each tab of queue editor dialogs.
Tab | Field | Description |
---|---|---|
Queue | Partition | The Partition of the queue. |
Queue | Name | The name of the queue can contain any combination of US ASCII letters, digits, and underscores; limited to 80 characters. |
Queue | Description | The description of the queue can contain any combination of printable UTF-8 characters, limited to 255 characters. |
Queue | Application | The name of the Application used to group this object. |
Queue | Execution Size | The number of concurrent processes in the queue. |
Queue | Inclusive | If set to true, the queue size includes waiting processes and/or processes in status Console. |
Queue | Hold Level | Processes below this priority level will not be started. |
Queue | Time Window | The time window during which the queue will release the processes. |
Queue | Time Zone | The time zone to use for the time window (if specified). If the time window already has a time zone, this field will be ignored. |
Queue | Overdue | Set processes that are not run within their time window to status Overdue. |
Queue | Monitor On Dashboard | Monitor this queue on the monitoring dashboard. |
Documentation | Documentation | a comment about the queue. |
Process Servers | Process Server | The process server name. |
Process Servers | Held | Is this queue provider closed? (Y or N) |
Process Servers | Execution Size | The number of concurrent processes in the queue. |
Process Servers | Inclusive | If set to true, the queue size includes waiting processes. |
Process Servers | Hold Level | Processes below this priority level will not be started. |
Process Servers | Time Window | The time window during which the queue provider will release the processes. |
Process Servers | Time Zone | The time zone to use for the time window (if specified). If the time window already has a time zone, this field will be ignored. |
Security | This is where you can specify who can access/change/remove the queue. |
Tabs & Fields
The following table illustrates the fields of each tab of queue editor dialogs.
Tab | Field | Description |
---|---|---|
Queue | Partition | The partition of the queue. |
Queue | Name | The name of the queue. |
Queue | Description | The description of the queue. |
Queue | Application | The name of the application used to group this object. |
Queue | Execution Size | The number of concurrent processes in the queue. |
Queue | Inclusive | If set to true, the queue size includes waiting processes and/or processes in status Console. |
Queue | Hold Level | Processes below this priority level will not be started. |
Queue | Time Window | The time window during which the queue will release the processes. |
Queue | Time Zone | The time zone to use for the time window (if specified). If the time window already has a time zone, this field will be ignored. |
Queue | Overdue | Set processes that are not run within their time window to status Overdue. |
Documentation | Documentation | a comment about the queue. |
Process Servers | Process Server | The process server name. |
Process Servers | Held | Is this queue provider closed? (Y or N) |
Process Servers | Execution Size | The number of concurrent processes in the queue. |
Process Servers | Inclusive | If set to true, the queue size includes waiting processes. |
Process Servers | Hold Level | Processes below this priority level will not be started. |
Process Servers | Time Window | The time window during which the queue provider will release the processes. |
Process Servers | Time Zone | The time zone to use for the time window (if specified). If the time window already has a time zone, this field will be ignored. |
Security | This is where you can specify who can access/change/remove the queue. |
Context-Menu
Queues support the following context-menu actions:
Action | Description |
---|---|
Hold | Holds the queue, this prevents new processes from starting (changing from state Queued to Running) in the queue. Processes that are already running will continue to run. |
Release | Releases the queue, this releases a queue that is held. This action only works if the queue is in status ClosedHeld (which means that it is held by the operator). |
Edit Security | Edit the security of the queue |
Duplicate | Make a copy of the queue to create a similar one |
Delete | Delete the queue |
Monitor related chain process | Opens the processes monitor with a filter displaying processes related to the current queue |
Export > Export | Export the queue into a CAR file |
Export > Export with related objects | Export the queue into a CAR file including referenced objects |
Promote > Promote to system | Promote the object to a remote system |
Promote > Edit further then promote | Edit the export rule set prior to promoting |
Promote | Promote the queue to another Redwood Server instance |
Edit | Edit the queue |
Show permalinks | Show links that can be used from third party applications to link to the object |
Add to navigation bar | Add the current object to the navigation bar |
New queue | Create a new queue |
Filter > New Filter | Create a new queue filter |
Filter > Edit Filter | Edit current queue filter |
Filter > Delete | Delete current queue filter |
Filter > Duplicate Filter | Create a copy of the filter |
Filter > Export Filter | Export the filter into a CAR file |
Filter > Add to navigation bar | Add the filter to a navigation bar |
Filter > Create filter from search | Create a filter from the current IntelliSearch query |
note
If a queue and/or a queue provider has/have a time window, it is always wise to specify a time window, especially when the time window has not time zone.
Deleting Queues
You can only delete queues when no other objects relate to them. For example, if there are still processes that ran in the queue, the queue cannot be deleted until all processes have been deleted, likewise if process definitions reference the queue as a default queue. You can see all processes and process definitions that relate to the queue in the Related Objects in the lower detail pane and on the show page.
Finding Queues
You can search for queues using filters and the Search Queues box on the Queues tab. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. Filters allow you to specify a list of objects with static criteria. IntelliSearch allows you to specify complex queries in a simple way using prefixes. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. For example, if you want to display all queues with the term queue in the comment, you would use the search criteria as follows:
c:queue
You can search more than one property, as follows:
c:queue n:JV
note
No spaces should be entered before or after the colon (:).
See the Advanced Object Search for more information.
The following table illustrates the available prefixes for queues:
Prefixes | Description |
---|---|
n, name | searches the name property |
c, comment | searches the documentation property |
d, description | searches the description property |
a, application | searches the application property |
cb, changedbefore | (internal) search for queues that changed before a certain ISO-8601 period |
Security
Privilege | Description |
---|---|
Queue.Create | Create queues |
Queue.Delete | Delete queues |
Queue.Edit | Edit queues |
Queue.View | Access queues |
Queue.ViewJobs | View the processes in the queue |
Queue.SubmitOnto | Submit processes onto the queue |
You can grant privileges on two levels, Access and Admin; a privilege granted on Admin level allows the grantee to grant the privilege to other users. These privileges can be granted per partition or system-wide.
The Security tab allows you to specify which users can access, edit, and delete the queue.
Procedure
- Choose "Environment > Queues".
- From the context-menu, choose New Queue.
- Fill in the details on the different tabs, refer to the Values section below.
- Choose Save and Close.
Example
- Choose "Environment > Queues" in the Navigation bar.
- Choose New Queue and fill in the values below.
- Choose Save & Close to save the new queue and close the edit window.
Name: Process_Reports_Queue
Application: [none]
Description: Process Reports Queue
Execution Size: 10
Inclusive: Checked
Hold Level: 20
Time Window: System_Week_Friday
Time Zone: Europe/Berlin
Overdue: Unchecked
Documentation: This queue is used to process reports.
Process Server: SYSTEM
Held: Unchecked
Execution Size: 20
Inclusive: Checked
Hold Above Page Rate:
Time Window: [none]
Time Zone: [none]