summaryrefslogtreecommitdiff
path: root/taskflow/engines/action_engine/engine.py
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-01-26 00:30:29 +0000
committerGerrit Code Review <review@openstack.org>2016-01-26 00:30:29 +0000
commit179eac734db25cdb62a3fe401b5cd02242dd5319 (patch)
treef71e8a7036a5b381d7ee05a1c6e8c1b24aa5f445 /taskflow/engines/action_engine/engine.py
parent615743c71acc037e218b4f09203d24bd41185fd1 (diff)
parentf5cd0632aad368d8f4500b34e64618014900af61 (diff)
downloadtaskflow-179eac734db25cdb62a3fe401b5cd02242dd5319.tar.gz
Merge "Pass through run timeout in engine run()"
Diffstat (limited to 'taskflow/engines/action_engine/engine.py')
-rw-r--r--taskflow/engines/action_engine/engine.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/taskflow/engines/action_engine/engine.py b/taskflow/engines/action_engine/engine.py
index 7084f51..8973c1c 100644
--- a/taskflow/engines/action_engine/engine.py
+++ b/taskflow/engines/action_engine/engine.py
@@ -216,12 +216,18 @@ class ActionEngine(base.Engine):
backend=self._backend,
scope_fetcher=_scope_fetcher)
- def run(self):
+ def run(self, timeout=None):
+ """Runs the engine (or die trying).
+
+ :param timeout: timeout to wait for any atoms to complete (this timeout
+ will be used during the waiting period that occurs when
+ unfinished atoms are being waited on).
+ """
with fasteners.try_lock(self._lock) as was_locked:
if not was_locked:
raise exc.ExecutionFailure("Engine currently locked, please"
" try again later")
- for _state in self.run_iter():
+ for _state in self.run_iter(timeout=timeout):
pass
def run_iter(self, timeout=None):