【问题标题】:How to use context passed from the client in the grpc server side如何在 grpc 服务器端使用从客户端传递的上下文
【发布时间】:2018-03-31 17:18:43
【问题描述】:

我在 grpc 服务中定义了一个端点。现在,当客户端使用某些上下文调用端点时,我应该如何处理该上下文、它的到期/截止日期等?

我的意思是在服务端,我需要执行一系列步骤来完成请求。它包括一些处理、写入数据存储等。现在我应该如何尊重上下文。是不是在流程的每一步之后,我都需要检查上下文是否完成?如果完成了,我会直接返回而不是继续下一步?不过这感觉不对。

在 GRPC/Go 中正确的做法是什么?

【问题讨论】:

  • 使用for select 监听ctx.Done 和结果通道?在不同的 goroutine 中完成所有处理并在通道中返回结果

标签: go grpc


【解决方案1】:

服务处理程序获取的上下文中设置了最后期限(客户端设置的那个)。 Go 方法是在您的每一步中传递该上下文,如果这些步骤中的任何一个阻止您也阻止该上下文。

【讨论】:

    猜你喜欢
    • 2019-11-05
    • 1970-01-01
    • 2020-04-03
    • 1970-01-01
    • 2018-05-15
    • 2019-01-03
    • 1970-01-01
    • 2013-04-24
    • 2021-04-10
    相关资源
    最近更新 更多