ZeroMQ 设计决策
在 REQ/REP 套接字中,如果套接字向死节点(断开连接)发送请求,则消息不会被传递并保留在占用内存的消息队列中。如何清除这些未发送的消息(比方说,在队列中等待时间超过 1 分钟的消息)?
谢谢!
In a REQ/REP socket, if the socket send a request to a dead (disconnected) node the message isn't delivered and stays in a message queue occupying memory. How can one clean these undelivered messages (let's say, messages that are in the queue for more than 1 minute)?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能需要设置可选参数
ZMQ_LINGER
:...正值将设置消息在队列中阻塞的最长时间。
看
http://api.zeromq.org/2-1-1:zmq-setsockopt
You might want to set the optional parameter
ZMQ_LINGER
:... for which a positive value will set a maximun time for message to be blocked in the queue.
See
http://api.zeromq.org/2-1-1:zmq-setsockopt