【发布时间】:2018-09-26 14:47:55
【问题描述】:
我有简单的双向rpc proto接口,如:
rpc RouteData(stream RouteNote) returns (stream ProcessedRouteNote) {}
问题是我可能需要一段时间才能返回ProcessedRouteNote。
我想知道存储连接的客户端的推荐方法是什么,以便稍后我可以流回响应(即“ProcessedRouteNote”)?
"def RouteData(self, request_iterator, servicer_context)"
似乎保存“def RouteData”的“request_iterator”,即“RpcMethodHandler”,然后直接调用stream_stream就可以了。
将感谢任何反馈。
我可以通过询问进一步简化这个问题:我怎样才能将数据/响应发送到先前已向服务器发送请求(双向)的特定客户端?应该注意的是,其目的不是在服务器的 RPC 处理程序的上下文中发送响应。此外,可能有十几个请求,但只有一个响应。所以我没有兴趣阻止 RPC 处理程序等待响应。我真的希望 grpc 可以做到这一点,否则这对我们来说真的是一个交易破坏者。
谢谢, 迈克
【问题讨论】:
标签: python protocol-buffers grpc