-
Notifications
You must be signed in to change notification settings - Fork 9
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
Graceful shutdown when a CTRL-C (or similar activity) is entered on the controller #278
Comments
I've been thinking about this and I think we need to resolve a few things to make this work the way we want. I believe the way to achieve what we want is for the controller to catch the CTRL-C signal (or similar activity) and then send an abort via roadblock so that all the participants in the run know to cleanup and shutdown. There are 2 immediate problems with this that immediately come to mind:
I feel like the whole point of this feature is to be able to properly cleanup a canceled run as quickly as possible...if it's not being done quickly then what is the point of canceling? Unfortunately, moving various code execution blocks to the roadblock wait-for functionality is probably not going to be a trivial exercise. I imagine that in some situations it will be pretty easy and in others it will be quite complicated. Right now there is a lot of global environment variables being used in some places that is not going to properly traverse the Another issue, albeit more minor, is that roadblock itself needs to have the way it handles a CTRL-C changed. Today it catches the signal and shutdowns down the program. It needs to instead catch the signal and then change the program flow from whatever it currently is to that of an abort path. This is simple in concept but it may cause some issues in the state machine that is current implemented. I don't think this is a huge problem, but it may take some time to figure out the modifications required in the state machine. @atheurer thoughts? |
No description provided.
The text was updated successfully, but these errors were encountered: