def execute(self): log.info('Checking "%s"... ', self.name) apps = yield List(self.storage).execute() if self.name not in apps: raise ToolsError('not available') app = Service(self.name, blockingConnect=False) try: yield app.connectThroughLocator(self.locator) info = yield app.info() log.info(info['state']) except (LocatorResolveError, ServiceError): raise ToolsError('stopped')