如何使用python grpc有效地将数据从服务器发送回客户端

时间:2018-10-21 09:50:51

标签: python grpc grpc-python

我想知道是否有建议的方法可以在GRPC python中将数据从服务器返回到客户端。

当前,我有一个专用的服务器的RPC调用,该调用在每个客户端调用上都阻塞-它在数据队列(空时阻塞)上循环以获取数据并将其发送回客户端。此调用的 server 实现:

    def GetData(self, request, context):
        while self._is_initialized:
            data = self._processed_data_queue.get()
            yield data 
        print 'client out'

似乎超级笨拙,不可扩展,并且明显减慢了通信速度。 在NodeJS,C#,c ++实现中,完成此操作要容易得多。 但是,使用Python实施似乎无法有效地实现这一目标。我真的希望我想念一些东西。

此外,服务器当前接受来自客户端的数据,将其添加到队列中,然后将其返回给客户端(不进行任何处理)。同样,使用上面的代码,即使不进行任何处理,我的性能也会急剧下降!

谢谢, 迈克

0 个答案:

没有答案