2

如何在 grpc-gateway 中设置超时?
我想限制请求执行的时间,在哪里可以设置时间限制?我需要为此创建一个“拦截器”吗?

4

3 回答 3

4

我再次查看了源代码,找到了可以设置默认等待时间的变量

runtime.DefaultContextTimeout = 10 * time.Second

链接到源代码

于 2020-04-30T10:42:35.443 回答
2

grpc-gateway通过入站 HTTP Grpc-Timeout 标头支持 grpc-timeout。(最后一部分是从 readme.MD 中复制的)。
有关更多信息,您应该查看文档gRPC over HTTP2

于 2020-04-30T10:14:17.953 回答
0

我找到了另一种在“gRPC-gateway”中设置超时的方法,如下所示。所以我希望这会对你有所帮助。

clientDeadline := time.Now().Add(time.Duration(*deadlineMs) * time.Millisecond)
ctx, cancel := context.WithDeadline(ctx, clientDeadline)

访问更多细节https://grpc.io/blog/deadlines/

于 2020-04-30T11:42:56.573 回答