This commit is contained in:
@@ -6,16 +6,15 @@ This avoids a situation where a subsequent user can not get their report because
|
||||
|
||||
## Performance implications
|
||||
|
||||
Note that increasing report rendering settings too high can result in the server running out of physical memory or CPU capacity. When increasing the limits be mindful of this potential and monitor the server carefully to ensure it's not "bottlenecking". The reporting capacity scales directly with the amount of memory and CPU capacity available to the server.
|
||||
Note that increasing report rendering settings too high can result in the server running out of physical memory or CPU capacity. When increasing the limits be mindful of this potential and monitor the server carefully to ensure it's not "bottlenecking". The reporting capacity scales directly with the amount of memory and CPU capacity available to the server.
|
||||
|
||||
## How timeouts work
|
||||
|
||||
When a report is requested to be rendered AyaNova starts the process and makes note of the time and will process that report indefinitely for as long as it takes to complete. However, if a subsequent report request is made and the first report has not completed yet then AyaNova will use this setting to wait for the first report to process before starting the next one. If the timeout period completes without the first report completed rendering then AyaNova will forcibly stop processing the first report and release the resources dedicated to it and start processing the new report.
|
||||
When a report is requested to be rendered AyaNova starts the process and makes note of the time and will process that report indefinitely for as long as it takes to complete. However, if a subsequent report request is made and the first report has not completed yet then AyaNova will use this setting to wait for the first report to process before starting the next one. If the timeout period completes without the first report completed rendering then AyaNova will forcibly stop processing the first report and release the resources dedicated to it and start processing the new report.
|
||||
|
||||
It's important to note that this timeout does not prevent AyaNova from processing a report for any length of time necessary to complete it; this timeout only takes effect if another report is requested to be rendered so if a User has to render a very large report that is known to take longer than the timeout period they would be advised to render that report when no one else is requesting a report (i.e. after hours)
|
||||
|
||||
|
||||
The value is specified in **milliseconds** or thousandths of a second. For example a 30 second timeout is 30000 milliseconds.
|
||||
The value is specified in **milliseconds** or thousandths of a second. For example a 30 second timeout is 30000 milliseconds.
|
||||
|
||||
## Default
|
||||
|
||||
@@ -39,6 +38,15 @@ AyaNova expects this value to be provided by a config.json property, environment
|
||||
The value specified should be a string specifying the timeout in **milliseconds**, for example:
|
||||
`30000`
|
||||
|
||||
Example config.json entry
|
||||
|
||||
```json
|
||||
{
|
||||
...other properties...
|
||||
"AYANOVA_REPORT_RENDERING_TIMEOUT": "45000"
|
||||
}
|
||||
```
|
||||
|
||||
Example command line parameter
|
||||
|
||||
`ayanova.exe --AYANOVA_REPORT_RENDERING_TIMEOUT="30000`
|
||||
@@ -52,5 +60,3 @@ Windows
|
||||
Linux / MAC
|
||||
|
||||
`export AYANOVA_REPORT_RENDERING_TIMEOUT="120000"`
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user