私は(Python->C#) にSocket と Socket を 1 つだけ持つPUSH/PULL
パターンを持っています。両方が接続されている限り、ワーカーがメッセージを処理するのにどれだけ時間がかかっても、キューに入れられたメッセージの順序は保持されます。0MQ
PUSH
PULL
問題は、ワーカーがしばらく切断されてから再接続した場合、この期間にキューに入れられたすべてのメッセージが、PUSH
Socket によってキューに入れられた方法に関係なく、ランダムな順序で到着することです。この問題の組み込みの解決策はありますか、それともより高度なパターンを使用する必要がありますか?
PULL 側にコードを追加します。
using (var receiver = new PullSocket())
{
receiver.Bind("tcp://localhost:5557");
while (true)
{
var payload = receiver.ReceiveFrameString();
log.Debug($"Payload: {payload}");
}
}