async def run(self, args): srv, method = args.srv_method.split('::') ps = [guess_json(p) for p in args.param] if args.dispatch_policy == 'random': bbox_client.pool.policy = bbox_client.pool.RANDOM try: await get_cluster().start() for i in range(args.ntimes): r = await bbox_client.pool.request(srv, method, *ps, retry=args.retry) if args.pp: print(json_pp(r)) else: print(json_to_str(r)) if (args.stack and r.get('error') and isinstance(r['error'], dict) and r['error'].get('stack')): print('\nerror stack:') print(r['error']['stack']) if i >= args.ntimes - 1: break await asyncio.sleep(args.interval) finally: c = get_cluster() c.cont = False await asyncio.sleep(0.1) c.close()
async def cluster_info(args): cfg = get_ticket() info = { 'etcd': cfg.etcd, 'prefix': cfg.prefix, 'boxes': get_cluster().boxes } print(json_pp(info))
async def get_config(args): sec_key = args.sec_key if '/' in sec_key: sec, key = sec_key.split('/') r = get_sharedconfig().get_strict(sec, key) else: r = get_sharedconfig().get_section_strict(sec_key) print(json_pp(r))
async def cluster_info(args) -> None: ticket = get_ticket() info = { 'etcd': ticket.etcd, 'prefix': ticket.prefix, 'boxes': get_cluster().boxes } print(json_pp(info))
def dump_json(self) -> str: return json_pp(self.sections)