From 208108fc62c1a505ea2388d8dde06b12547600ba Mon Sep 17 00:00:00 2001 From: Joshua Harlow Date: Thu, 16 May 2013 23:20:34 -0700 Subject: [PATCH] Correctly run the tasks after partial resumption. --- taskflow/patterns/ordered_workflow.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/taskflow/patterns/ordered_workflow.py b/taskflow/patterns/ordered_workflow.py index ac541a64..ddc22a81 100644 --- a/taskflow/patterns/ordered_workflow.py +++ b/taskflow/patterns/ordered_workflow.py @@ -111,10 +111,11 @@ class Workflow(object): self.rollback(context, exc.TaskException(task, self, ex)) self._change_state(context, states.FAILURE) - self._change_state(context, states.RESUMING) + task_order = self.order() last_task = 0 if result_fetcher: - for (i, task) in enumerate(self.order()): + self._change_state(context, states.RESUMING) + for (i, task) in enumerate(task_order): (has_result, result) = result_fetcher(self, task) if not has_result: break @@ -136,7 +137,7 @@ class Workflow(object): self._change_state(context, states.RUNNING) was_interrupted = False - for task in self.order(): + for task in task_order[last_task:]: if self.state == states.INTERRUPTED: was_interrupted = True break