Fix parallelism issue on github actions #104
Open
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 PR fixes issue #102.
Summary: Locally the ProcessPoolExecutor works well, however it seems to hang at Step 4. This arose because of the recent change to process parallelism from thread parallelism.
if __name__ == "__main__"
tomain.py
. This is good practice anyway as it prevents the execution of code due to import. This is unlikely to happen in this case, however.multiprocessing.set_start_method("forkserver", force=True)
at the main call, instead of justfork
.forkserver
does not inherit threads, preventing deadlocks. This seems to suggest that some threads are lingering and need to be destroyed. In general, however, forkserver seems to be safer in CI environments.With parallel execution the CI for DEF_Trunk now runs in 6m. See this successful run.