为什么 grpc.FutureTimeoutError 不是 grpc.RpcError 和 grpc.Call 的实例?
why is grpc.FutureTimeoutError not an instance of grpc.RpcError and grpc.Call?
如果 FutureTimeoutError 具有 code()
和 details()
等方法,这将使超时处理更加清晰,就像 _InactiveRpcError 一样。
这是设计决定吗? grpc 社区是否愿意接受以这种方式更改 FutureTimeoutError 实现的拉取请求?
grpc.FutureTimeoutError
是 grpc.Future.result
或 grpc.Future.exception
超过截止日期但没有得到任何结果时引发的异常。例如,RPC 需要 10 秒才能完成,但我们得到 result(timeout=2)
。然后 grpc.FutureTimeoutError
将在 2 秒后升高以指示时间到。那时 RPC 还没有接近完成,所以我们无法访问 code()
和 details()
.
这不是客户端或服务器上的 RPC 问题,这意味着 grpc.RpcError
可能不适合 grpc.FutureTimeoutError
。
如果 FutureTimeoutError 具有 code()
和 details()
等方法,这将使超时处理更加清晰,就像 _InactiveRpcError 一样。
这是设计决定吗? grpc 社区是否愿意接受以这种方式更改 FutureTimeoutError 实现的拉取请求?
grpc.FutureTimeoutError
是 grpc.Future.result
或 grpc.Future.exception
超过截止日期但没有得到任何结果时引发的异常。例如,RPC 需要 10 秒才能完成,但我们得到 result(timeout=2)
。然后 grpc.FutureTimeoutError
将在 2 秒后升高以指示时间到。那时 RPC 还没有接近完成,所以我们无法访问 code()
和 details()
.
这不是客户端或服务器上的 RPC 问题,这意味着 grpc.RpcError
可能不适合 grpc.FutureTimeoutError
。