From d8144cd833c3a8e82d9580655787b491e768e4f8 Mon Sep 17 00:00:00 2001 From: Alina Quereilhac Date: Fri, 31 Oct 2014 09:42:43 +0100 Subject: [PATCH] Adding state RELEASED in EC to allow two stage termination from the experiment runner --- src/nepi/execution/ec.py | 11 +++++++++-- src/nepi/execution/runner.py | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/nepi/execution/ec.py b/src/nepi/execution/ec.py index 2e573dd9..58ece229 100644 --- a/src/nepi/execution/ec.py +++ b/src/nepi/execution/ec.py @@ -90,7 +90,8 @@ class ECState(object): """ RUNNING = 1 FAILED = 2 - TERMINATED = 3 + RELEASED = 3 + TERMINATED = 4 class ExperimentController(object): """ @@ -1033,6 +1034,9 @@ class ExperimentController(object): :type guids: list """ + if self._state == ECState.RELEASED: + return + if isinstance(guids, int): guids = [guids] @@ -1050,7 +1054,10 @@ class ExperimentController(object): for guid in guids: if self.get(guid, "hardRelease"): - self.remove_resource(guid) + self.remove_resource(guid)\ + + # Mark the EC state as RELEASED + self._state = ECState.RELEASED def shutdown(self): """ Releases all resources and stops the ExperimentController diff --git a/src/nepi/execution/runner.py b/src/nepi/execution/runner.py index 2a78be06..21a20cbd 100644 --- a/src/nepi/execution/runner.py +++ b/src/nepi/execution/runner.py @@ -116,6 +116,7 @@ class ExperimentRunner(object): if run >= min_runs and max_runs > -1 and run >= max_runs : stop = True + ec.shutdown() del ec return run -- 2.43.0