如何将GRPC与Asyncio一起使用
问题描述
在哪里可以找到使用GRPC和Asyncio的示例,特别是如何使用GRPC和Asyncio创建客户端
grpc
从1.32版本开始,推荐答案的Python API中现在支持异步。如果您使用的是早期版本,您仍然可以通过实验API:from grpc.experimental import aio
使用异步API。异步hello world example也已添加到GRPC回购中。以下代码是示例客户端的副本:
import logging
import asyncio
from grpc import aio
import helloworld_pb2
import helloworld_pb2_grpc
async 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.
async with aio.insecure_channel('localhost:50051') as channel:
stub = helloworld_pb2_grpc.GreeterStub(channel)
response = await stub.SayHello(helloworld_pb2.HelloRequest(name='you'))
print("Greeter client received: " + response.message)
if __name__ == '__main__':
logging.basicConfig()
asyncio.run(run())
有关如何实现服务器,请参阅my other answer。
相关文章