ZeroMQ 不推送

ZeroMQ not pushing

我正在尝试使用 ZeroMQ,但我似乎无法推送任何消息来尝试其他方法。

我的制作人是

import time, json, zmq

def producer():
    context = zmq.Context.instance()
    zmq_socket = context.socket(zmq.PUSH)
    zmq_socket.bind("tcp://*:9555")
    # Start your result manager and workers before you start your producers
    for num in xrange(200):
        work_message = { 'num' : num }
        print work_message
        zmq_socket.send(json.dumps(work_message))

producer()

我得到的只是第一次打印的消息,然后等待。

你在另一边没有监听器,socket.send() 是 PUSH 套接字上的阻塞方法。

您需要启动您的消费者并检查是否一切正常。

这是文档:https://zeromq.github.io/pyzmq/api/zmq.html#zmq.Socket.send

作为旁注: 等待队列是在 PULL 端连接时创建的,因此在这种情况下 NOBLOCK 标志将没有用。

检查此问题以获取有关标志的更多信息:zmq send with NOBLOCK raise Resource temporarily unavailable