gpt4 book ai didi

python - python grpc客户端如何管理连接?

转载 作者:行者123 更新时间:2023-12-03 11:52:43 26 4
gpt4 key购买 nike

grpc 客户端何时创建和关闭连接?
我开始代码:

channel = grpc.insecure_channel('localhost:8888')
stub = myservice_pb2_grpc.MyServiceStub(channel)

声明一个 channel 是否会在进程的整个生命周期内创建一个套接字?
因为即使我向 insecure_channel() 提供了无效地址,在我发出第一个请求之前我也看不到任何错误。

或者,套接字仅在发出请求并随后关闭时创建?

最佳答案

在 gRPC Python 中,一个 channel 对象对应一个或多个 TCP 连接,具体取决于您的负载平衡策略。如果没有选择负载均衡策略(这似乎是绝大多数使用情况),那么是的,一个 channel 对应一个 TCP 连接。

只要 channel 对象本身处于打开状态, channel 所代表的连接就会保持事件状态。因此,建议您在客户端进程的许多 RPC 调用中重用 channel 。 建议您关闭不再需要的 channel 。

有两种方法可以做到这一点。第一种是手动调用close方法:

channel = grpc.insecure_channel('localhost:8888')
# send some RPCs
channel.close()

另一种是使用上下文管理器:

with grpc.insecure_channel('localhost:8888') as channel:
# send some RPCs

关于python - python grpc客户端如何管理连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62570677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com