[en] When all language servers are busy, Acrolinx puts new checking requests in a queue and orders them by priority and start time. By default, Acrolinx gives a low priority to checking requests that are over 1 MB, or are part of a batch check. It gives all other checking requests a standard priority.
[en] Acrolinx prioritizes checking requests during peak usage periods. It does this so that users who run standard checks don't have to wait on users who run batch checks or who check large documents during the same time period. By default, a checking request can stay at a low priority for a maximum of 5 minutes.
[en] Say that language server is busy processing a large checking request at 12:00. The request will take about 6 minutes to complete. In the meantime, Acrolinx receives the following checking requests that it needs to add to the queue:
[en] Check Started |
[en] Document |
---|---|
12:01:00 |
[en] Large document |
12:03:00 |
[en] Batch-checked documents |
12:05:00 |
[en] Standard document 1 |
[en] After assessing the priority of each document, the core server reorders the queue as follows:
[en] Order |
[en] Check Started |
[en] Document |
[en] Priority |
---|---|---|---|
1 |
12:05:00 |
[en] Standard document 1 |
[en] Standard |
2 |
12:01:00 |
[en] Large document |
[en] Low |
3 |
12:03:00 |
[en] Batch-checked documents |
[en] Low |
[en] At 12:07, the language server is finished with the previous tasks and starts to process the first standard document in the queue. A few seconds later, it receives a new checking request for another standard document. However, the second standard document can’t go to the front of the queue because the large document has been at a low priority for more than 5 minutes. Because of this, it's now reprioritized as a standard document.
[en] Acrolinx reorders the queue again as follows:
[en] Order |
[en] Check Started |
[en] Document |
[en] Priority |
---|---|---|---|
1 |
12:01:00 |
[en] Large document |
[en] Standard [en] (Priority changed to "Standard" at 12:07:01) |
2 |
12:07:05 |
[en] Standard document 2 |
[en] Standard |
3 |
12:03:00 |
[en] Batch-checked documents |
[en] Low |
Tipp
[en] This kind of scenario should be very rare in most installations. If Acrolinx regularly queues checking requests for more than 5 minutes, you should consider other ways to optimize your processing capacity. Read more in Update Language Configurations.
[en] To change how Acrolinx prioritizes documents, you can:
-
[en] Configure the waiting times for low-priority checking requests.
-
[en] Configure the large document threshold.
[en] If a user sends a low-priority checking request when all language servers are busy, the user will need to wait for up to 5 minutes before Acrolinx reprioritizes their checking request. If the low-priority checking request is still in the queue after 5 minutes, Acrolinx gives it a standard priority. You can change the maximum time to wait before Acrolinx reprioritizes a low-priority checking request.
[en] You might change maximum wait time if you notice that users are waiting too long when checking large documents or running batch checks. You can also disable the wait times so that Acrolinx always processes checking requests in the order that it receives them.
[en] To configure the maximum wait time for low-priority checking requests, follow these steps:
-
[en] Open
<config directory>/server/bin/coreserver.properties
. -
[en] Add the following properties:
-
languageServers.largeTaskWaitThreshold=<SECONDS>
[en] This property configures the waiting time for large documents.
-
languageServers.batchTaskWaitThreshold=<SECONDS>
[en] This property configures the waiting time for batch-checked documents.
[en] For example, to configure a new waiting time of 3 minutes for large documents add the line:
[en] Example:
languageServers.largeTaskWaitThreshold=180
[en] To disable the waiting times, enter a value of 0 seconds:
[en] Example:
languageServers.largeTaskWaitThreshold=0 languageServers.batchTaskWaitThreshold=0
-
-
[en] Save your changes and restart the Acrolinx Platform.
[en] If all language servers are busy, Acrolinx gives any document over 1 MB a low priority in the checking queue. You might change the large document threshold if you notice that some checks on documents under 1 MB are still causing unacceptable delays for users who check smaller documents.
[en] To configure the large document threshold, follow these steps:
-
[en] Open
coreserver.properties
. -
[en] Add the following property:
languageServers.largeTaskSizeThreshold=<SIZE_IN_KB>
[en] For example, to give documents over 500Kb a lower priority than documents under 500kb, add the line:
[en] Example:
languageServers.largeTaskSizeThreshold=500
-
[en] Save your changes and restart the Acrolinx Platform.
[en] To avoid overloading the server, there’s a limit to the number of checks that Acrolinx can hold in the check request queue. The limit is for the sum of all checks no matter the language or other attributes.
[en] This limit is set to 100 check requests by default, but you can configure it if necessary.
[en] To configure the threshold for the check request queue, follow these steps:
-
[en] Open
coreserver.properties
. -
[en] Add the following property:
schedulerQueueLimit=<NUMBER_OF_CHECK_REQUESTS>
[en] For example, to limit the check request queue to 50 checks, add the line:
[en] Example:
schedulerQueueLimit=50
-
[en] Save your changes and restart the Acrolinx Platform.