This commit is contained in:
@@ -243,36 +243,12 @@ TODO: 1 BETA DOCS:
|
||||
██ ██ ███████ ██ ██████ ██ ██ ██ ██ ██ ████ ██████
|
||||
|
||||
|
||||
- 1 todo: need to change report rendering timeout system into an overall time limit system
|
||||
There is no unlimited timeout anymore instead the report rendering timeout is added to the current timestamp when the report request is received
|
||||
add guards in code to check if the expiry time has been reached and if so send back the too many records or took too long message that the client can interpret
|
||||
This timeout applies to the entire rendering process from request to return of link
|
||||
The getreportdata should receive the expiry time and check it in it's loops and throw a specific exception if it's reached and cleanup accordingly
|
||||
The getreportbiz should handle the timeout and also have it's own timeout guards between render steps that are time consuming
|
||||
- Clear error message at client "select less data or increase timeout"
|
||||
check the current error, it might need to handle two scenarios: no slots and "timeout select less data"
|
||||
- fixup the docs as they go into there being no timeout if slots are open which is not how it should work at all.
|
||||
- change the hard cap to something logical, consider how much memory can be consumed in how much time scenario? Maybe still minutes at first and see where it takes us?
|
||||
- The default should be the sane level for most purposes so that people do not run into it casually
|
||||
- remove max instances and config, that should not be a thing just timeout see next
|
||||
- INSTANCES CHANGES
|
||||
The whole instances thing needs to change, there should be no max instances just a timeout and the system should kill any exired found
|
||||
so either a periodic job to kill them or the next render looks to kill timed out renderings
|
||||
when report the router starts the timer and sends it on to all the sub processes and tags it in the render instance bag so if past that time kill it
|
||||
|
||||
- 1 todo: call this in a regular housekeeping job, not just the report controller (should remove from report controller??):
|
||||
//check for an kill any expired prior renders stuck around
|
||||
Util.ReportRenderManager.KillExpiredRenders(log);
|
||||
|
||||
- 1 todo: add timeout to getreportdata methods so that they can bail if they take too long, maybe tied into report timeout??
|
||||
this is necessary because the overwhelming majority of time is spent gathering the report data not in the actual report rendering
|
||||
|
||||
- 1 todo: add the caching technique to *all* the other getreportdata methods as was done with workorder
|
||||
|
||||
|
||||
|
||||
- 2/3 todo: there are no default reports for any objects except a selected few, thought joyce was making a report for every object that's reportable
|
||||
will need to make a slew of default plain reports like customer etc
|
||||
- 2 EXAMPLE Reports (stock) hide examples with checkbox as example in report template so they only show to report designer roles
|
||||
|
||||
|
||||
|
||||
@@ -827,8 +803,8 @@ BUILD 8.0.0-beta.0.6 CHANGES OF NOTE
|
||||
- New automatic server job added that checks every 5 minutes for stuck report rendering processes (ones that went over the AYANOVA_REPORT_RENDERING_TIMEOUT setting) and terminates them
|
||||
- changed display message and help link at web app end for when a timeout happens with clear docs on what to do
|
||||
- Default settings for time out are a best guess by me and we should figure this out as we run into it until we have a sane default for most people as the ultimate release value.
|
||||
For now I'm defaulting to 3 minutes timeout for report generation and hard caps of no less than 1 minute and no more than 15 minutes no matter the setting people use
|
||||
Let me know if 3 minutes is not a high enough default or 15 is not max enough as you test it out
|
||||
For now I'm defaulting to 5 minutes timeout for report generation and hard caps of no less than 1 minute and no more than 15 minutes no matter the setting people use
|
||||
Let me know if 5 minutes is not a high enough default or 15 is not max enough as you test it out
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user