我想知道是否有建议的方法可以在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实施似乎无法有效地实现这一目标。我真的希望我想念一些东西。
此外,服务器当前接受来自客户端的数据,将其添加到队列中,然后将其返回给客户端(不进行任何处理)。同样,使用上面的代码,即使不进行任何处理,我的性能也会急剧下降!
谢谢, 迈克