Use daemon argument to ensure that polling manager is killed #47
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.
This adds the daemon argument to the EnvironmentDataPolling manager to ensure that the Flagsmith client is terminated correctly when the main thread is terminated.
I tested this using the following script:
This script previously just hung at
sys.exit()
because it wasn't able to kill the environment polling manager thread. Once it's changed to be created as a daemon thread, it kills it correctly and the program shuts down as expected.The only downside to this is that the daemon thread is shutdown abruptly meaning that we might see some 'remote connection hung up' type errors in the API but I think this is not a concern.