Try to shut down more aggressively #82
Merged
+159
−19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add a separate
shutdown
method called byrun
and by signal handlers. It's responsible for removing the PID file and for settingcontinue
to0
. This should ensure that it's always called at least once, and is safe to call multiple times. Either way the PID file should now always be deleted and the shutdown activity properly logged.Also set all the signal handlers in the
_signal_handlers
method, and teach it to nest signal handlers if necessary. This will keep the consumer from wiping out its own handlers. I have no reason to think they have been, but it seems best to play it as safe as possible.Add a slew of new tests to test all these behaviors thoroughly.