Asynchronous 使用ZeroRPC进行流式处理
您可能知道,ZeroRPC文档非常稀少。我无法在Python服务器和节点客户端之间进行流式处理 以下是Python方法:Asynchronous 使用ZeroRPC进行流式处理,asynchronous,zeromq,publish-subscribe,zerorpc,Asynchronous,Zeromq,Publish Subscribe,Zerorpc,您可能知道,ZeroRPC文档非常稀少。我无法在Python服务器和节点客户端之间进行流式处理 以下是Python方法: @zerorpc.stream def PublishWhaterver(self, some_args): yield "love" yield "stack" yield "overflow" 以下是节点调用: export const tryStream = () => { connectedZerorpcClient.inv
@zerorpc.stream
def PublishWhaterver(self, some_args):
yield "love"
yield "stack"
yield "overflow"
以下是节点调用:
export const tryStream = () => {
connectedZerorpcClient.invoke('PublishWhatever', (error, res, more) => {
console.log('STREAM', res, more);
});
};
这段代码将记录“流爱”,然后什么也不做
下面是我的问题:
- 在Python服务器代码中,我是否应该调用带有相关参数的
,以便生成附加值PublishWhatever
- 在节点客户机中,当有更多数据时,我是否应该调用一些递归函数
主页上的示例和测试也不相关,它显示了如何在调用
invoke
方法时对已经存在的数组进行流式处理。这里的消息是在一些繁重的计算过程中生成的,我希望服务器能够告诉客户机“这里,一些数据准备好了”,并且永远不会断开连接。,ZeroRPC
积极宣传,它正在使用自己的python实现代码作为工作原理的自我文档。换言之,没有人花费如此多的精力来发布一个以用户为中心的、以学习过程为中心的文档
无论如何,试着遵守ZeroRPC描述中的几个“可见”语句
@zerorpc.stream
def PublishWhaterver(self, some_args):
yield ( "love", "stack", "overflow", ) # one, tuple-wrapped result-container
嗨,谢谢你的回答。我终于让它工作了。它也适用于infinite generator,您可以通过Github链接了解更多信息。我仍然对线程处理的数据有异议,我很难从无限队列中产生值,但这是一个不同的问题,所以我接受你们的答案。