From 3e2444ccb69d6c9aa394a0de0a987260c8bd2a3d Mon Sep 17 00:00:00 2001 From: Romain Dorgueil Date: Sat, 28 Jul 2018 16:05:43 +0100 Subject: [PATCH] bugfix: set max workers to the actual node count in graph. --- bonobo/execution/strategies/executor.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/bonobo/execution/strategies/executor.py b/bonobo/execution/strategies/executor.py index 1e2d45f..8f33574 100644 --- a/bonobo/execution/strategies/executor.py +++ b/bonobo/execution/strategies/executor.py @@ -17,7 +17,7 @@ class ExecutorStrategy(Strategy): executor_factory = Executor - def create_executor(self): + def create_executor(self, graph): return self.executor_factory() def execute(self, graph, **kwargs): @@ -26,7 +26,7 @@ class ExecutorStrategy(Strategy): futures = [] - with self.create_executor() as executor: + with self.create_executor(graph) as executor: try: context.start(self.get_starter(executor, futures)) except: @@ -69,6 +69,12 @@ class ExecutorStrategy(Strategy): class ThreadPoolExecutorStrategy(ExecutorStrategy): executor_factory = ThreadPoolExecutor + def create_executor(self, graph): + return self.executor_factory(max_workers=len(graph)) + class ProcessPoolExecutorStrategy(ExecutorStrategy): executor_factory = ProcessPoolExecutor + + def create_executor(self, graph): + return self.executor_factory(max_workers=len(graph))