我在$ find / -name "seq2seq.py"
(Python-> C#)中有一个PUSH/PULL
模式,只有一个0MQ
套接字和一个PUSH
套接字。只要两者都连接,无论工作者处理消息需要多长时间,都会保留排队消息的顺序。
问题是当工作者断开连接一段时间然后重新连接时,那么在此期间排队的所有消息将以任意随机顺序到达,无论它们如何被PULL
套接字排队。是否有针对此问题的内置解决方案,还是应该使用更高级的模式?
我在PULL方面添加了代码:
PUSH
答案 0 :(得分:0)
我很确定0mq QHash
不保证交付顺序。
也许您可以PUSH/PULL
(或REQ/REP
或类似的模式)代替 - REQ/ROUTER
在您需要同步时非常有用。在我的脑海中,您可以拥有一个进程内REQ/REP
队列,您可以从该队列中提取消息并将其推送到PUSH/PULL
套接字。