【发布时间】:2018-03-31 17:18:43
【问题描述】:
我在 grpc 服务中定义了一个端点。现在,当客户端使用某些上下文调用端点时,我应该如何处理该上下文、它的到期/截止日期等?
我的意思是在服务端,我需要执行一系列步骤来完成请求。它包括一些处理、写入数据存储等。现在我应该如何尊重上下文。是不是在流程的每一步之后,我都需要检查上下文是否完成?如果完成了,我会直接返回而不是继续下一步?不过这感觉不对。
在 GRPC/Go 中正确的做法是什么?
【问题讨论】:
-
使用
for select监听ctx.Done和结果通道?在不同的 goroutine 中完成所有处理并在通道中返回结果