Set multiprocessing start method explicitly through context#447
Open
nvictus wants to merge 3 commits intoopen2c:masterfrom
Open
Set multiprocessing start method explicitly through context#447nvictus wants to merge 3 commits intoopen2c:masterfrom
nvictus wants to merge 3 commits intoopen2c:masterfrom
Conversation
Member
Author
|
Well, this obviously fails on Windows, which can't fork... |
Member
Author
|
I implemented accessors for the reusable global multiprocessing state used by the cooler CLI. They are initialized on first access. It creates a context with "fork" on Unix/MacOS and "spawn" in Windows, but the method can be overridden with an environment variable This has the benefit that multiprocessing objects won't be constructed if only the cooler API is used, as in #329 where multiprocessing synchronization primitives are not available on AWS lambda. cc @pkerpedjiev |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The default start method for multiprocessing will change from "fork" to "spawn" on all platforms: https://docs.python.org/3/library/multiprocessing.html#contexts-and-start-methods
This PR uses contexts to keep the current fork behavior until we decide to migrate to spawn or refactor further. cc @mimakaev