示例#1
0
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)
示例#2
0
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()