number of subprocesses <= number of tasks (#434)

This commit is contained in:
Tim
2024-10-16 14:13:20 +08:00
committed by GitHub
parent 69fc1fd911
commit d615c0e31b
+1 -1
View File
@@ -105,7 +105,7 @@ def multiprocessing_wrapper(func_calls: list[tuple[Callable, tuple]], n: int) ->
"""
if n == 1:
return [f(*args) for f, args in func_calls]
with mp.Pool(processes=n) as pool:
with mp.Pool(processes=max(1, min(n, len(func_calls)))) as pool:
results = [pool.apply_async(f, args) for f, args in func_calls]
return [result.get() for result in results]