def main(): from zerothrift import RPC_DEFAULT_CONFIG, RPC_SERVICE, RPC_PROXY_ADDRESS from zerothrift import parse_config from account_service.AccountService import Client from zerothrift import TimeoutException, get_transport, get_protocol config_path = RPC_DEFAULT_CONFIG config = parse_config(config_path) endpoint = config[RPC_PROXY_ADDRESS] service = config[RPC_SERVICE] _ = get_transport(endpoint) protocol = get_protocol(service) client = Client(protocol) total_times = 10000 t1 = time.time() for i in range(0, total_times): try: result = client.get_user_by_id(i) print "Index: ", i, ", username: "******"TimeoutException: ", e except Exception as e: print "Exception: ", e if i % 200 == 0: print "QPS: %.2f" % (i / (time.time() - t1),) t = time.time() - t1 print "Round Trip: %.4fs" % (t / total_times)
def main(): # 使用静态的代码,看起来脏一点,但是类型限定更加直接 from account_service.AccountService import Processor processor = Processor(AccountProcessor()) config = parse_config(RPC_DEFAULT_CONFIG) endpoint = config[RPC_BACK_ADDRESS] service = config[RPC_SERVICE] worker_pool_size = int(config[RPC_WORKER_POOL_SIZE]) print "Load Balance Backend Addr: ", endpoint s = Server(processor, pool_size=worker_pool_size, service=service, mode_ppworker=True) s.connect(endpoint) s.run()