summaryrefslogtreecommitdiff
path: root/taskflow/engines/action_engine/executor.py
diff options
context:
space:
mode:
authorJoshua Harlow <harlowja@yahoo-inc.com>2014-12-15 15:47:58 -0800
committerJoshua Harlow <harlowja@yahoo-inc.com>2014-12-15 15:52:39 -0800
commit97b4e18cc2b4e6c0ae7228ff70ef75dc4a5a1df7 (patch)
tree84fd5152dad6a4c480de4e435c10f9f3f3661e25 /taskflow/engines/action_engine/executor.py
parent7dc11bae11e532cff5ac41c0ec942b1d4e76bc8b (diff)
downloadtaskflow-97b4e18cc2b4e6c0ae7228ff70ef75dc4a5a1df7.tar.gz
Base task executor should provide 'wait_for_any'
Instead of having each task executor reproduce the same code for 'wait_for_any' we can just have the base task implementation provide the function that everyone is replicating instead; making common code common and save the headache caused by the same code being in multiple places (which is bad for multiple reasons). Change-Id: Icea4b7e3df605ab11b17c248d05acb3f9c02a1ca
Diffstat (limited to 'taskflow/engines/action_engine/executor.py')
-rw-r--r--taskflow/engines/action_engine/executor.py8
1 files changed, 1 insertions, 7 deletions
diff --git a/taskflow/engines/action_engine/executor.py b/taskflow/engines/action_engine/executor.py
index b7ff2f7..002068b 100644
--- a/taskflow/engines/action_engine/executor.py
+++ b/taskflow/engines/action_engine/executor.py
@@ -83,9 +83,9 @@ class TaskExecutor(object):
progress_callback=None):
"""Schedules task reversion."""
- @abc.abstractmethod
def wait_for_any(self, fs, timeout=None):
"""Wait for futures returned by this executor to complete."""
+ return async_utils.wait_for_any(fs, timeout=timeout)
def start(self):
"""Prepare to execute tasks."""
@@ -117,9 +117,6 @@ class SerialTaskExecutor(TaskExecutor):
fut.atom = task
return fut
- def wait_for_any(self, fs, timeout=None):
- return async_utils.wait_for_any(fs, timeout)
-
class ParallelTaskExecutor(TaskExecutor):
"""Executes tasks in parallel.
@@ -148,9 +145,6 @@ class ParallelTaskExecutor(TaskExecutor):
fut.atom = task
return fut
- def wait_for_any(self, fs, timeout=None):
- return async_utils.wait_for_any(fs, timeout)
-
def start(self):
if self._create_executor:
if self._max_workers is not None: