问题标签 [pyzmq]
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.
ipython - ipython 0.13 zmq 错误
我遇到了 ipython 集群的奇怪行为。计算完成,但许多结果从未到达客户端(并且引擎在完成第一次计算后只是空闲)。
我怀疑 zmq 有问题,因为 1)我不时看到以下错误:
我使用 pyzmq 13.0.0(由 pip 安装)和 zeromq 3.2.2,由 pyzmq 的安装程序编译。我使用 ipython 13.1 和 python 2.7.3。
关于这可能是什么的任何建议,如果不是,我如何找出更多信息为什么会发生这些错误?
更新:事实证明,减速是由于 ipcontroller 的任务队列很长,然后占用了 100% 的 CPU 并且严重滞后。那是一个单独的问题,但我仍然希望得到有关上述内容的反馈。
python - 来自单线程的 ZeroMQ 进程间通信丢失消息
我目前正在探索测试我的 zeromq 应用程序的可能性。我的印象是我可以在同一个线程中有一个发布者/订阅者,让发布者发布和订阅者订阅它而不会丢失消息。然而,当我让发布者发送几条消息时,没有一条消息能传递给订阅者。
这是我使用的代码:
运行它时,我没有得到任何输出。
令我印象深刻的是,接收方在发送方发送之前已连接,因此应该对这些消息进行排队。或者这是一个完全错误的假设,我应该使用 PUSH/PULL 代替?
python - 使用 python-zmq 的多个 ipc 发布者和一个订阅者
我想知道是否可以使用 zmq ipc 为一个订阅者设置多个 ipc 发布者...
抽象地说,我只有一个这样的发布者,但我需要运行它的多个实例来获取多种数据类型,但每次都发布相同的格式。
我的订阅者:
我的订阅者每次都从数据中检查相同的参数并将其存储在数据库中。
我不知道这是否可能,因为这种通信模式使用共享文件,也许我应该考虑每个实例的发布者 - 订阅者对......
已编辑:每个发布者将发送 2kb aprox,100 次/秒
python - pyzmq 用自己的套接字创建一个进程
我有一些代码正在监视其他一些更改的文件,我想做的是启动使用 zeromq 和不同套接字的代码,我现在这样做的方式似乎导致断言在 libzmq 的某个地方失败,因为我可能正在重用同一个插座。我如何确保当我从监视器类创建一个新进程时,上下文不会被重用?这就是我认为正在发生的事情,如果您能说我还有其他愚蠢之处,请告知。这是一些代码:
发生的事情是我想要所有的监控进程和一个单一的高级进程在同一个端口上监听,所以当高级工程师看到一个它没有看到它的请求时,它会为它启动一个进程,所有存在的进程可能也应该监听但是忽略不适合他们的消息。就目前而言,如果我这样做,我可能会遇到一些崩溃,这可能与某些东西对同一个 zmq 套接字的并发访问有关(我尝试过 threading.thread,仍然崩溃)我在某处读到不同线程对 zmq 套接字的并发访问是不可能的. 我将如何确保新进程获得自己的 zmq 套接字?
编辑:我的应用程序中的主要交易是请求通过 zmq 套接字进入,并且正在侦听的进程通过以下方式对消息作出反应:
more-edit=> 并且完美进程现在绑定,它将接收消息并回显它们,以便监视器可以看到它们。这就是我的想法,作为架构,但它不是最终的。.
所有消息都通过浏览器从远程用户到达,让服务器知道客户端想要什么,服务器通过 zmq 将消息发送到后端(我没有显示这个,但并不难)所以在生产中它们可能不会绑定/连接到本地主机。我选择了 DEALER,因为它允许任意方向的异步/无限消息(见第 5 点。)并且 DEALER 可以与 DEALER 绑定,并且初始请求/回复可以从任何一方到达。另一个可以做到这一点的可能是 DEALER/ROUTER。
python - 断开连接后重新连接到 ZMQ 提要
我有这个简单的 python 脚本,它连接到 ZMQ 提要并吐出一些数据:
这是在我的家庭服务器上运行的。有时,我的家庭服务器失去了与互联网的连接,这是住宅连接的诅咒。但是,当网络确实退出并重新启动时,脚本就会停止。有没有办法重新初始化连接?我还是 python 的新手,在正确的方向上一点会很棒。=)
python - 数据获取检查 PUB/SUB 模式
有一个服务器,它收集一些数据,然后将其发送给客户端。我需要确保客户端获得了服务器发送的数据。我认为这里的 PUB/SUB 模式是最好的选择,但我不明白如何检查客户端是否获取数据?我听说过一些可靠的 PUB/SUB,但没有真正的例子。
有什么想法、建议、例子和帮助吗?
简单的发布者:
简单订户:
在此示例中,我需要确保订阅者收到“消息”。
zeromq - 为什么每条发送到 zmq.DEALER 的消息都需要接收两次?
我在 ZMQ 中设置了一个 REP/DEALER 连接,发现当 REP 向 DEALER 发送一条消息时,后者必须接收两次才能获取消息。为什么是这样?
复制此代码的代码是此 SO answer中代码的修改版本。他们的代码每个工人只收到一次,但我对此进行了测试,我只得到了一个“世界”。我必须收到四次才能获得 2 个“世界”,例如:
python - 为什么 ZMQApplication 不将变量从查询发送到处理程序类?
我在使用 ZMQApplication 时遇到了一些问题
例如,我在 python 中有一个代码
和类 AccountHandler
当我发送查询 /account/test/123 python throw exception
在 data1 我可以看到完整的查询 url = '/account/test/123'
如果我尝试加载 /account/test/123/234 然后按预期接收 404
python - Termination of python script while using ZeroMQ with dead server
I have a problem in closing python application while I using ZeroMQ. first I connect to a server that is not running!
and sending my message
waiting for reply
so the server is dead the message will be not send and there is no reply. it is work true. then I close socket and unregister it from poller then connect to alive server with new socket and I send message by the socket and get reply from it.
after it the application (python script) is not closed (terminate)! it is my problem. [I can close application with sig_term
but i won't to use it for some reason.]
if I don't send first message to dead server the application is closed truly. I guess the problem is ZeroMQ io thread but I can't solve it.
python - 通过 KeyboardInterrupt 停止 pyzmq 接收器
在此之后示例,我正在尝试创建一个简单的接收器。该示例使用无限循环。一切正常。但是,在 MS Windows 上,当我按下 CTRL+C 来引发 KeyboardInterrupt 时,循环不会中断。似乎该recv()
方法以某种方式忽略了异常。但是,我很想通过按 CTRL+C 而不是杀死它来退出该过程。那可能吗?