问题标签 [zerorpc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3256 浏览

zeromq - ZeroRPC 发布订阅

我想在我的服务器之间建立一个基于事件的系统。例如,当包装我的数据库逻辑的服务器更改状态时,我希望它通知我的其他服务器。发布/订阅设计似乎很适合这个,我听说过有关 ZeroRPC 的好消息。

有些人提到使用 zerorpc 流来完成发布/订阅,但是对我来说,使用流来触发事件如何工作并不明显。

0 投票
1 回答
996 浏览

python - 使用 zerorpc 维护会话

如何使用我的zerorpc服务器维护不同的会话或本地状态?

例如(下),如果我有多个客户端,后续客户端将覆盖模型状态。我认为每个客户端都有一个 ID,并且 RPC 逻辑会尝试以这种方式分离变量,但是 tbis 似乎很混乱,一旦客户端断开连接,我将如何清除旧状态/变量?

服务器

客户 1

客户 2

0 投票
2 回答
2968 浏览

python - 如何配置 ZeroRPC 和超时

我正在尝试使用 ZeroRPC python 服务器和 node.js 客户端进行一些简单的负载测试。我注意到,如果请求花费的时间超过 10 秒,我将不会收到任何数据。我尝试在python代码中配置no heartbeat:

以及尝试配置 node.js 客户端:

但仍然看到相同的行为。

如何获得超过 10 秒的请求才能返回结果?

0 投票
2 回答
1863 浏览

python - Python/Node ZeroRPC heartbeat error

Im trying to run the Python server/node.js client HelloWorld example from the ZeroRPC website. All the revelant libraries seemed to have been installed correctly, but when running the example I get the error:

Has anyone seen this?

0 投票
1 回答
883 浏览

python - zeroRPC 多处理的奇怪问题

因此,我正在使用 ZeroRPC 和 Tornado 进行一个宠物项目,并且在将 ZeroRPC 与python的多处理库结合使用时遇到了一些问题。具体来说,我正在以编程方式创建和运行新的 ZeroRPC 服务器,但通常在运行时,zerorpc服务器会阻塞,所以我的想法是将它扔到另一个进程中,如下所示:

但是,当我这样做时,调用RPC服务器只是挂起,这是未正确实例化端点时的典型行为。但是,如果我只是让服务器运行阻塞并像这样调用它:

一切正常。我的理解是这两个实现应该是等价的,但不知何故它们不是。

有任何想法吗?

0 投票
1 回答
590 浏览

python - django <-> node.js 快速通信

我试过requests了,但似乎很慢,因为 tcp 连接需要很长时间(我不知道如何保持套接字打开)

我现在正在尝试zerorpc,它有persistent connection.
Django <-> node.js 通信对于第一条消息工作正常,但Lost remote after 10s heartbeat在第二次尝试时失败并出现错误。

我可能遗漏了一些明显的东西。

其他客户端(来自命令行)仍然可以与服务器对话并获得响应,所以我想这与上面的 django 代码有关。

0 投票
1 回答
552 浏览

django - zerorpc 在多线程环境中?

我想使用 zerorpc 作为内部服务通信工具。

似乎 zeromq 可以完美地用于多线程环境。 http://augustl.com/blog/2013/zeromq_instead_of_http/

然而 zerorpc 文档或教程真的很少。

我正在尝试在多线程环境(Django)中使用 zerorpc 并坚持弄清楚如何使用 zerorpc 重用已连接的套接字(或套接字池)。

有明显的解决方案吗?

0 投票
0 回答
1636 浏览

python - nodejs 和 Python 之间的 ZeroRPC 仅第一次运行

我们正在尝试使用 ZeroRPC 从 NodeJS 调用 python 模块。

节点代码:

Python代码:

首先,我们运行 python 代码来启动服务器。接下来我们启动 nodejs 代码。

现在第一次在浏览器中尝试 localhost:8080/topList,nodejs 向 python 发出请求,然后 python 程序运行并将结果返回给 nodejs,然后在浏览器中我们可以看到结果。

如果我们第二次尝试 localhost:8080/topList 就会出现问题,nodejs 无法调用 python 代码。我们在 python 控制台中没有看到“Python Hello”。

我们无法修复这种情况。它只是第一次运行,然后 nodejs 无法调用 python。第一次运行后服务器是否关闭。

我们还尝试使用 While True 或 gevent ,如下所示。但仍然是同样的问题。

谁能提供一些想法来解决这个问题?

0 投票
1 回答
2264 浏览

python - zeroRPC:发送响应后继续运行进程

我正在使用 Python 2.7 和zeroRPC使客户端和服务器进行通信。我希望客户端向服务器发送请求,并且我希望服务器发送响应以确认它已收到请求。但是我希望服务器对该请求执行一些繁重的计算。这些计算将花费数小时并且不会产生任何响应,因此客户端不应一直等待;客户端-服务器连接应在服务器确认已收到请求后立即终止。我怎样才能做到这一点?

这是我现在拥有的(简化)。

服务器代码:

客户端代码:

它不起作用:我得到zerorpc.exceptions.LostRemote: Lost remote after 10s heartbeat. 我知道我可以使用该heartbeat参数使连接无限期地持续,但正如我所说,计算将花费数小时并且不会产生任何响应,所以我认为我不应该保持连接有效。

我读过关于 gevent 的文章,但我不知道如何将它用于此目的(它甚至是适合这项工作的工具吗?)。我应该使用 Python 的多处理包来生成子进程或类似的东西吗?如何处理这种事情?

0 投票
0 回答
597 浏览

node.js - Zerorpc 在 recv 上抛出错误

我在 Ubuntu 12.04 中使用 Python 2.7.3 和 Node.js 0.10.37,并使用 zerorpc 从节点 js 调用 python。我的 python 在端口 9004 运行,节点客户端侦听 9004 端口。在从 Node js 调用 python 中的方法时,我收到以下错误:

我的 Node.js 客户端代码:

我的 Python 代码:

甚至 python 中的 print 语句也没有被执行。

我尝试卸载并重新安装 zerorpc 和 zmq。但仍然是相同的错误,相同的代码在具有相同架构的不同 Ubuntu 机器上工作。