如果使用zeromq> = 3.0,则可以设置RCVTIMEO套接字选项:
client_receiver.RCVTIMEO = 1000 # in milliseconds
但通常,您可以使用轮询器:
poller = zmq.Poller()poller.register(client_receiver, zmq.POLLIN) # POLLIN for recv, POLLOUT for send
并
poller.poll()超时:
evts = poller.poll(1000) # wait *up to* one second for a message to arrive.
evts如果什么也收不到,将是一个空列表。
您可以使用轮询
zmq.POLLOUT,以检查发送是否成功。
或者,要处理可能失败的对等方,请执行以下 *** 作:
worker.send(msg, zmq.NOBLOCK)
可能就足够了,它将始终立即返回-如果发送无法完成,则引发ZMQError(zmq.EAGAIN)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)