-
Notifications
You must be signed in to change notification settings - Fork 21
services: validate-reinstall #746
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
base: master
Are you sure you want to change the base?
Conversation
| args: Dict[str, Any], | ||
| workflows_mgr: 'WorkflowsManager', | ||
| log: 'Logger', | ||
| ) -> List[Union[bool, str]]: |
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.
Changed from list[bool | str] to tuple[bool, str] as this is safer for the way we are trying to use it (('msg', False) would have been acceptable before).
| try: | ||
| ret_code = proc.wait(timeout=timeout) | ||
| except TimeoutExpired as exc: | ||
| proc.kill() | ||
| ret_code = 124 # mimic `timeout` command error code | ||
| # NOTE: preserve any stderr that the command produced this | ||
| # far as this may help with debugging | ||
| out, err = proc.communicate() | ||
| err = str(exc) + (('\n' + err) if err else '') |
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.
So, it turns out this timeout logic was bunk. You have to actually .kill() to process if you want it to stop.
https://docs.python.org/3/library/subprocess.html#subprocess.Popen.communicate
Additionally, this will now log the command's stderr which might be useful in the event of a timeout.
|
|
||
| if command == 'clean': # noqa: SIM116 | ||
| return await Services.clean( | ||
| self.workflows_mgr, |
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.
Switched arg order for consistency.
|
FYI: style tests will fail until #748 |
* Closes cylc#526 * Add basic support for the `cylc vr` command.
* We were applying a timeout to the `Popen.wait` method, however, this doesn't actually kill the process (as one might expect) when the timeout elapses, it just stops waiting for it?!
Closes #526
I somehow forgot that we have
cylc vrsupport in the Tui, but not the GUI!Trivial to add support. Supporting the
cylc installcommand is also possible, however, that will require #512.Check List
CONTRIBUTING.mdand added my name as a Code Contributor.setup.cfg(andconda-environment.ymlif present).?.?.xbranch.