From 2b1b54e47f030eac4d385bb9bd65f493e560ebdc Mon Sep 17 00:00:00 2001 From: Jan David Mol <mol@astron.nl> Date: Wed, 29 Jun 2016 04:38:46 +0000 Subject: [PATCH] Task #9192: Add debug output for predecessor/successor ids --- MAC/Services/src/PipelineControl.py | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/MAC/Services/src/PipelineControl.py b/MAC/Services/src/PipelineControl.py index bb4ca8a5835..8a4798f18a8 100755 --- a/MAC/Services/src/PipelineControl.py +++ b/MAC/Services/src/PipelineControl.py @@ -220,10 +220,13 @@ class PipelineDependencies(object): """ radb_task = self.rarpc.getTask(otdb_id=otdb_id) - predecessor_ids = radb_task['predecessor_ids'] - predecessor_tasks = self.rarpc.getTasks(task_ids=predecessor_ids) + predecessor_radb_ids = radb_task['predecessor_ids'] + predecessor_tasks = self.rarpc.getTasks(task_ids=predecessor_radb_ids) + predecessor_states = {t["otdb_id"]: t["status"] for t in predecessor_tasks} - return {t["otdb_id"]: t["status"] for t in predecessor_tasks} + logger.debug("getPredecessorStates(%s) = %s", otdb_id, predecessor_states) + + return predecessor_states def getSuccessorIds(self, otdb_id): """ @@ -231,19 +234,27 @@ class PipelineDependencies(object): """ radb_task = self.rarpc.getTask(otdb_id=otdb_id) - successor_ids = radb_task['successor_ids'] - successor_tasks = self.rarpc.getTasks(task_ids=successor_ids) if successor_ids else [] + successor_radb_ids = radb_task['successor_ids'] + successor_tasks = self.rarpc.getTasks(task_ids=successor_ids) if successor_radb_ids else [] + successor_otdb_ids = [t["otdb_id"] for t in successor_tasks] + + logger.debug("getSuccessorIds(%s) = %s", otdb_id, successor_otdb_ids) - return [t["otdb_id"] for t in successor_tasks] + return successor_otdb_ids def canStart(self, otdbId): """ Return whether `otdbId' can start, according to the status of the predecessors and its own status. """ + myState = self.getState(otdbId) + predecessorStates = self.getPredecessorStates(otdbId) + + logger.debug("canStart(%s)? state = %s, predecessors = %s", otdbId, myState, predecessorStates) + return ( - self.getState(otdbId) == "scheduled" and - all([x == "finished" for x in self.getPredecessorStates(otdbId).values()]) + myState == "scheduled" and + all([x == "finished" for x in predecessorStates.values()]) ) class PipelineControl(OTDBBusListener): -- GitLab