zeromq:如何防止无限等待?

zeromq:如何防止无限等待?,第1张

zeromq:如何防止无限等待?

如果使用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)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5655675.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存