Normally, the Data Workbench server answers incoming user queries as they are received, and continues to provide results and real-time updates until the user is no longer requesting them.
At times, particularly on systems with many Data Workbench users, the number of active queries require more system resources than are available from the server. Query Queue allows the server to place some queries temporarily on hold until the resources necessary to provide answers become available. The Query Queue also provides features to prioritize queries based on a variety of parameters, so that in case of resource contention, higher-priority queries are answered first.
Queries from a single client or report server are placed in a bunch and scheduled as a unit. You can configure resource monitors to limit the amount of certain system resources that are used by queries. When the monitored resources permit the scheduling of another query bunch, the highest-priority bunch is scheduled. Users whose queries are not scheduled yet, due to resource limitations, do not receive an error but are notified that their queries are queued, and the user can continue to work on the local sample.
The default configuration includes a simple configuration for the Query Queue, but leaves it disabled. Administrators can enable or disable the Query Queue, configure resource monitors to determine how much of various resources are used for querying, and configure complex prioritization policies for different users.
To configure the Server.cfg file for Query Queuing
Open Server.cfg by clicking Admin > Profile Manager > Dataset.
Right-click Server.cfg and make it local for editing.
Expand Query Queue.
Configure the following parameters:
User Groups: Lets you configure policies, users, and the queue priority. See Query Queue User Groups for definitions.
Active: (Vector) Enables or disables the Query Queue. Valid values are true or false. The default setting is false.
Default User Group: (String) Type a name of the user group to which users are added, if they are not listed in any user group.
Resource Monitors: (Vector) Right-click to add a resource monitor. You can specify whether the Query Queue monitors memory or the number of queries. Right-click Resource Monitor to choose Memory Budget Monitor or Number of Queries Monitor. See Query Queue Resource Monitors for more information.
Untouchable Priority: (Int) Specifies that bunches with a priority greater than or equal to this value are never preempted to scheduling of higher priority bunches. Used in conjunction with the Memory Budget Monitor described in the User Group Parameters Table.