我正在開發一個(Python/pyzmq))ZeroMQ服務器,它通過一個PULL套接字接收傳入消息。關閉ZeroMQ接收端無損
現在,有些時候我會重新啓動服務器來升級它。我的問題是; 我可以以某種方式停止接收傳入消息(在我的PULL套接字上),以便重新啓動不會丟失任何消息嗎?我正在考慮像打電話close()
沒有插座,然後recv()
ing最後的消息。可能將高水位設置爲零會產生類似的結果。
如果上述解決方案都不起作用,我可能會更好地將套接字轉換爲REP套接字,然後每次獲取每條消息,ACK:每次都收到它們。由於這將是同步的,我猜這會比較慢。
感謝您的回覆。有趣的是,發送者關閉時確保清空所有隊列,但在接收端不存在類似的東西... – Ztyx