Make Execution, Task and Node status properties into methods
Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/bf26e765 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/bf26e765 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/bf26e765 Branch: refs/heads/logger_task Commit: bf26e765f501fb896d3ae5949f92175f591dc561 Parents: 9852f27 Author: Avia Efrat <[email protected]> Authored: Sun Apr 2 16:11:43 2017 +0300 Committer: Ran Ziv <[email protected]> Committed: Thu Apr 6 11:29:17 2017 +0300 ---------------------------------------------------------------------- aria/modeling/orchestration.py | 6 +----- aria/modeling/service_instance.py | 1 - aria/orchestrator/workflows/core/engine.py | 6 +++--- aria/orchestrator/workflows/core/task.py | 2 -- 4 files changed, 4 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/bf26e765/aria/modeling/orchestration.py ---------------------------------------------------------------------- diff --git a/aria/modeling/orchestration.py b/aria/modeling/orchestration.py index 15abde4..3ad6b58 100644 --- a/aria/modeling/orchestration.py +++ b/aria/modeling/orchestration.py @@ -98,13 +98,11 @@ class ExecutionBase(ModelMixin): status = Column(Enum(*STATES, name='execution_status'), default=PENDING) workflow_name = Column(Text) - @property def has_ended(self): return self.status in self.END_STATES - @property def is_active(self): - return not self.has_ended + return not self.has_ended() @declared_attr def logs(cls): @@ -290,11 +288,9 @@ class TaskBase(ModelMixin): implementation = Column(String) _runs_on = Column(Enum(*RUNS_ON, name='runs_on'), name='runs_on') - @property def has_ended(self): return self.status in [self.SUCCESS, self.FAILED] - @property def is_waiting(self): return self.status in [self.PENDING, self.RETRYING] http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/bf26e765/aria/modeling/service_instance.py ---------------------------------------------------------------------- diff --git a/aria/modeling/service_instance.py b/aria/modeling/service_instance.py index e6d2fe2..53b5400 100644 --- a/aria/modeling/service_instance.py +++ b/aria/modeling/service_instance.py @@ -413,7 +413,6 @@ class NodeBase(InstanceModelMixin): except KeyError: return None - @property def is_available(self): return self.state not in [self.INITIAL, self.DELETED, self.ERROR] http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/bf26e765/aria/orchestrator/workflows/core/engine.py ---------------------------------------------------------------------- diff --git a/aria/orchestrator/workflows/core/engine.py b/aria/orchestrator/workflows/core/engine.py index d32abb8..0503142 100644 --- a/aria/orchestrator/workflows/core/engine.py +++ b/aria/orchestrator/workflows/core/engine.py @@ -88,12 +88,12 @@ class Engine(logger.LoggerMixin): def _executable_tasks(self): now = datetime.utcnow() return (task for task in self._tasks_iter() - if task.is_waiting and + if task.is_waiting() and task.due_at <= now and not self._task_has_dependencies(task)) def _ended_tasks(self): - return (task for task in self._tasks_iter() if task.has_ended) + return (task for task in self._tasks_iter() if task.has_ended()) def _task_has_dependencies(self, task): return len(self._execution_graph.pred.get(task.id, {})) > 0 @@ -105,7 +105,7 @@ class Engine(logger.LoggerMixin): for _, data in self._execution_graph.nodes_iter(data=True): task = data['task'] if isinstance(task, engine_task.OperationTask): - if not task.model_task.has_ended: + if not task.model_task.has_ended(): self._workflow_context.model.task.refresh(task.model_task) yield task http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/bf26e765/aria/orchestrator/workflows/core/task.py ---------------------------------------------------------------------- diff --git a/aria/orchestrator/workflows/core/task.py b/aria/orchestrator/workflows/core/task.py index aa8963f..540988c 100644 --- a/aria/orchestrator/workflows/core/task.py +++ b/aria/orchestrator/workflows/core/task.py @@ -69,11 +69,9 @@ class StubTask(BaseTask): self.status = models.Task.PENDING self.due_at = datetime.utcnow() - @property def has_ended(self): return self.status in [models.Task.SUCCESS, models.Task.FAILED] - @property def is_waiting(self): return self.status in [models.Task.PENDING, models.Task.RETRYING]
