This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# REPORT RENDERING TIMEOUT SETTING
|
||||
|
||||
The report rendering timeout value controls how long AyaNova will wait for a prior report to complete rendering when it receives a request to render a subsequent report.
|
||||
The report rendering timeout value controls how long AyaNova will wait for a report to complete rendering.
|
||||
|
||||
This avoids a situation where a subsequent user can not get their report because a prior report generation is frozen due to a bug in a report template script or simply selecting too many records to report in a practical amount of time.
|
||||
This avoids a situation where a report generation is frozen due to a bug in a report template script or simply selecting too many records to report in a practical amount of time.
|
||||
|
||||
## Performance implications
|
||||
|
||||
@@ -10,24 +10,23 @@ Note that increasing report rendering settings too high can result in 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 until completed or the timeout is reached.
|
||||
|
||||
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 **minutes**.
|
||||
|
||||
## Default
|
||||
|
||||
If no override is specified AyaNova will use the following default value:
|
||||
|
||||
`30000`
|
||||
`3`
|
||||
|
||||
This means AyaNova will wait for a prior report to complete for no longer than 30,000 milliseconds or 30 seconds before it will stop that prior report render and start the new one.
|
||||
This means AyaNova will wait for a prior report to complete for no longer than 3 minutes before it will stop and return an error.
|
||||
|
||||
## MINIMUM / MAXIMUM
|
||||
|
||||
There is a hard cap of 3 minutes or 180000 milliseconds built into AyaNova so specifying a value greater than 180000 milliseconds will be ignored and 3 minutes used instead.
|
||||
Specifying a value less than 1 second (1000) will be automatically changed to 1000 as the minimum allowed value.
|
||||
There is a hard cap of 15 minutes built into AyaNova so specifying a value greater than 15 minutes will be ignored and 15 minutes used instead.
|
||||
Specifying a value less than 1 minute will be automatically changed to 1 minute as the minimum allowed value.
|
||||
|
||||
## Overriding
|
||||
|
||||
@@ -35,7 +34,7 @@ AyaNova expects this value to be provided by a config.json property, environment
|
||||
|
||||
`AYANOVA_REPORT_RENDERING_TIMEOUT`
|
||||
|
||||
The value specified should be a string specifying the timeout in **milliseconds**, for example:
|
||||
The value specified should be a string specifying the timeout in **minutes**, for example:
|
||||
`30000`
|
||||
|
||||
Example config.json entry
|
||||
@@ -43,20 +42,20 @@ Example config.json entry
|
||||
```json
|
||||
{
|
||||
...other properties...
|
||||
"AYANOVA_REPORT_RENDERING_TIMEOUT": "45000"
|
||||
"AYANOVA_REPORT_RENDERING_TIMEOUT": "4"
|
||||
}
|
||||
```
|
||||
|
||||
Example command line parameter
|
||||
|
||||
`ayanova.exe --AYANOVA_REPORT_RENDERING_TIMEOUT="30000`
|
||||
`ayanova.exe --AYANOVA_REPORT_RENDERING_TIMEOUT="5`
|
||||
|
||||
Example environment variable
|
||||
|
||||
Windows
|
||||
|
||||
`set "AYANOVA_REPORT_RENDERING_TIMEOUT=60000"`
|
||||
`set "AYANOVA_REPORT_RENDERING_TIMEOUT=4"`
|
||||
|
||||
Linux / MAC
|
||||
|
||||
`export AYANOVA_REPORT_RENDERING_TIMEOUT="120000"`
|
||||
`export AYANOVA_REPORT_RENDERING_TIMEOUT="12"`
|
||||
|
||||
Reference in New Issue
Block a user