def run_client(channel_compression, call_compression, target): with grpc.insecure_channel(target, compression=channel_compression) as channel: stub = helloworld_pb2_grpc.GreeterStub(channel) response = stub.SayHello(helloworld_pb2.HelloRequest(name='you'), compression=call_compression, wait_for_ready=True) print("Response: {}".format(response))
def main(): # For more channel options, please see https://grpc.io/grpc/core/group__grpc__arg__keys.html with grpc.insecure_channel(target='localhost:50051', options=[('grpc.lb_policy_name', 'pick_first'), ('grpc.enable_retries', 0), ('grpc.keepalive_timeout_ms', 10000) ]) as channel: stub = helloworld_pb2_grpc.GreeterStub(channel) response = stub.SayHello(helloworld_pb2.HelloRequest(name='you')) print("Greeter client received: " + response.message)
def send_rpc(channel): stub = helloworld_pb2_grpc.GreeterStub(channel) request = helloworld_pb2.HelloRequest(name='you') try: response = stub.SayHello(request) except grpc.RpcError as rpc_error: _LOGGER.error('Received error: %s', rpc_error) return rpc_error else: _LOGGER.info('Received message: %s', response) return response
def process(stub, wait_for_ready=None): try: response = stub.SayHello(helloworld_pb2.HelloRequest(name='you'), wait_for_ready=wait_for_ready) message = response.message except grpc.RpcError as rpc_error: assert rpc_error.code() == grpc.StatusCode.UNAVAILABLE assert not wait_for_ready message = rpc_error else: assert wait_for_ready _LOGGER.info("Wait-for-ready %s, client received: %s", "enabled" if wait_for_ready else "disabled", message)
def process(stub): try: response = stub.SayHello(helloworld_pb2.HelloRequest(name='Alice')) _LOGGER.info('Call success: %s', response.message) except grpc.RpcError as rpc_error: _LOGGER.error('Call failure: %s', rpc_error) status = rpc_status.from_call(rpc_error) for detail in status.details: if detail.Is(error_details_pb2.QuotaFailure.DESCRIPTOR): info = error_details_pb2.QuotaFailure() detail.Unpack(info) _LOGGER.error('Quota failure: %s', info) else: raise RuntimeError('Unexpected failure: %s' % detail)
def run(): # NOTE(gRPC Python Team): .close() is possible on a channel and should be # used in circumstances in which the with statement does not fit the needs # of the code. with grpc.insecure_channel('localhost:50051') as channel: stub = helloworld_pb2_grpc.GreeterStub(channel) response, call = stub.SayHello.with_call( helloworld_pb2.HelloRequest(name='you'), metadata=( ('initial-metadata-1', 'The value should be str'), ('binary-metadata-bin', b'With -bin surffix, the value can be bytes'), ('accesstoken', 'gRPC Python is great'), )) print("Greeter client received: " + response.message) for key, value in call.trailing_metadata(): print('Greeter client received trailing metadata: key=%s value=%s' % (key, value))
def main(): with grpc.insecure_channel('localhost:50051') as channel: stub = helloworld_pb2_grpc.GreeterStub(channel) response = stub.SayHello(helloworld_pb2.HelloRequest(name='you')) print("Greeter client received: " + response.message)
def run(addr, n): with grpc.insecure_channel(addr) as channel: stub = helloworld_pb2_grpc.GreeterStub(channel) request = helloworld_pb2.HelloRequest(name='you') for _ in range(n): process(stub, request)
def run(server_address): with grpc.insecure_channel(server_address) as channel: stub = helloworld_pb2_grpc.GreeterStub(channel) response = stub.SayHello(helloworld_pb2.HelloRequest(name='you')) print("Greeter client received: " + response.message)