如何处理多个 gRPC 期货?

How to process multiple gRPC futures?

我有几个 gRPC 存根。我想异步调用它们,然后将它们的结果(经过小的后处理)合并为一个。对于普通 Python 期货,我可以使用 concurrent.futures.as_completedconcurrent.futures.wait,但 gRPC 期货 does not support this functions

如何并行调用 gRPC 存根并有效地组合它们的结果?

您可以将每个调用调用为 stub.SayHello.futures(HelloRequest(name="world")) 以实现并行性。然而,要合并它们的结果,没有比遍历 rpc 列表并等待它们中的每一个更方便的方法了。

如果您发现此功能有用,请 ping GitHub 问题,并添加您的用例 ;)