New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expressiontool timer #1681
Expressiontool timer #1681
Conversation
Increasing eval_timeout from 20 to 60 seconds - to allow more time for HPC's which use distributed filesystems.
This matches the new default value in self.eval_timeout (context.py). The longer default time allows for smooth running on systems with increased I/O timings (such as HPC systems with network based file systems).
Added logger output when timer has been triggered. This also stops the truncation of stdout and stderr.
3rd outstanding question (while I remember). I've moved |
Codecov Report
@@ Coverage Diff @@
## main #1681 +/- ##
==========================================
- Coverage 66.85% 66.79% -0.07%
==========================================
Files 93 93
Lines 16648 16660 +12
Branches 4420 4422 +2
==========================================
- Hits 11130 11128 -2
- Misses 4376 4388 +12
- Partials 1142 1144 +2
Continue to review full report at Codecov.
|
Good catch. We can refactor the code to respect
Sure, you could raise a
Good to know. I think it will be okay for now. What do you think @tetron ? |
Yep - I'm happy to help with that.
I'll have a look at adding this in. |
For consistency with other expression tools, eval_timeout is now used for controlling the timeout of the validate_js_expression steps. This has involved adding eval_timeout to LoadingContext (mirroring RuntimeContext).
I've refactored the code to use |
* increase default eval_timeout value Increasing eval_timeout from 20 to 60 seconds. The longer default time allows for smooth running on systems with increased I/O timings (such as HPC systems with network based file systems). * Add log information when eval-timeout is exceeded Added logger output when timer has been triggered. This also stops the truncation of stdout and stderr. * Add eval_timeout control to validate_js_expressions For consistency with other expression tools, eval_timeout is now used for controlling the timeout of the validate_js_expression steps. This has involved adding eval_timeout to LoadingContext (mirroring RuntimeContext).
This PR is in response to issue 1680.
--eval-timeout
flag will be used more for optimisation purposes, rather than being needed to accomodate systems with slower response times for expression tools.Outstanding questions:
exec_js_process
routine seems to be used for organisational tasks at the start of the workflow. And is run with a 30 second time limit. If the tool time limit gets breached for that process then my log message will be misleading (because the--eval-timeout
flag doesn't control that time limit).