X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fnepi%2Fexecution%2Fec.py;h=d95080480de2cb0ea2e783738d1a7b1a9d599c22;hb=25a46fdfb9753474f35fa2dc677182f8500c52a9;hp=b5663c0faedc6496e2097e7ceaa1ea08b8244774;hpb=4c64cfa394d6210febf4c384276820093b104106;p=nepi.git diff --git a/src/nepi/execution/ec.py b/src/nepi/execution/ec.py index b5663c0f..d9508048 100644 --- a/src/nepi/execution/ec.py +++ b/src/nepi/execution/ec.py @@ -152,9 +152,12 @@ class ExperimentController(object): :param guids: List of guids :type guids: list """ - return self.wait(guids, states = [ResourceState.STARTED, ResourceState.FINISHED]) + return self.wait(guids, states = [ResourceState.STARTED, + ResourceState.STOPPED, + ResourceState.FINISHED]) - def wait(self, guids, states = [ResourceState.FINISHED]): + def wait(self, guids, states = [ResourceState.FINISHED, + ResourceState.STOPPED]): """ Blocking method that waits until all the RM from the 'guid' list reached state 'state' or until a failure occurs @@ -166,9 +169,14 @@ class ExperimentController(object): while not all([self.state(guid) in states for guid in guids]) and \ not any([self.state(guid) in [ - ResourceState.STOPPED, ResourceState.FAILED] for guid in guids]) and \ not self.finished: + # debug logging + waited = "" + for guid in guids: + waited += "guid %d - %s \n" % (guid, self.state(guid, hr = True)) + self.logger.debug(" WAITING FOR %s " % waited ) + # We keep the sleep big to decrease the number of RM state queries time.sleep(2)