-
Notifications
You must be signed in to change notification settings - Fork 94
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
Fix execution time limit polling intervals [cylc 8] #5753
Conversation
b5d3f11
to
d78a682
Compare
if delays: | ||
size = int((time_limit - sum(delays)) / delays[-1]) | ||
delays.extend([delays[-1]] * size) | ||
time_limit_delays[0] += time_limit - sum(delays) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The last member of the list is repeated.
if len(time_limit_delays) == 1
then all subsequent delays are not the set execution time limit polling intervals, but that value + the remainder of the execution polling intervals under the time limit.
cylc/flow/task_events_mgr.py
Outdated
if len(time_limit_polling_intervals) > 1: | ||
time_limit_polling_intervals[0] += time_limit - sum(delays) | ||
else: | ||
delays.append( | ||
time_limit_polling_intervals[0] + time_limit - sum(delays)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the bug fix - the rest is refactoring for easier testing.
- time_limit_polling_intervals[0] += time_limit - sum(delays)
322d2aa
to
e7f932d
Compare
e7f932d
to
7bee764
Compare
Co-authored-by: Ronnie Dutta <61982285+MetRonnie@users.noreply.github.com>
Co-authored-by: Ronnie Dutta <61982285+MetRonnie@users.noreply.github.com>
Kicking tests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't manually tested but I'm happy that the tests are comprehensive enough
Co-authored-by: Oliver Sanders <oliver.sanders@metoffice.gov.uk>
Response to a bug not otherwise recorded:
Bug description
If the sum of
execution polling intervals
<execution time limit
the remainder should be added to the first, but only the firstexecution time limit polling interval
. Currently the remainder is always added to the first items in the list ofexecution time limit polling intervals
.The last item in the list of
execution time limit polling intervals
is repeated until the final itask timeout. At the moment if we set only one item inexecution time limit polling intervals
then every polling interval isexecution time limit polling intervals[0] + remainder
.Example
Check List
CONTRIBUTING.md
and added my name as a Code Contributor.setup.cfg
(andconda-environment.yml
if present).CHANGES.md
entry included if this is a change that can affect users?.?.x
branch.