def _execute(self): # calling the clients now self.test_result.startTestRun() cb = ioloop.PeriodicCallback(self.refresh, 100, self.loop) cb.start() try: client = Client(self.args['broker']) logger.debug('Calling the broker...') client.run(self.args) logger.debug('Waiting for results') self.loop.start() finally: # end.. cb.stop() self.test_result.stopTestRun() self.context.destroy() self.flush()
def health_check(self): client = Client(self.broker, timeout_max_overflow=20.) ping = client.ping() total_agents = len(ping['agents']) if total_agents == 0: msg = 'No agents currently registered.' return False, msg, 0 runs = client.list_runs().items() busy_agents = sum([len(agents) for run_id, agents in runs]) avail = total_agents - busy_agents if avail == 0: # no agents are available. msg = 'All agents are busy.' return False, msg, 0 args = {'fqn': 'loads.examples.test_blog.TestWebSite.test_health', 'hits': '1', 'agents': avail, 'users': '1', 'detach': True} client.run(args) return True, 'Health check launched', avail