如何在 grpc-gateway 中设置超时?

How to set a timeout in grpc-gateway?

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

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

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

runtime.DefaultContextTimeout = 10 * time.Second

Link to source code

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

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

访问了解更多详情https://grpc.io/blog/deadlines/