3 台のワーカー マシンで AMQP gem を使用して rabbitmq を実行しています。マシンが再起動されると、私のキューには、ワーカーが追加されただけで、サブスクライブ解除されていないことが示されます。たとえば、各マシンが 5 つのワーカーを実行するとします。
3 台のマシンを起動すると、15 のワーカーがキューにサブスクライブされている 3 台のマシンすべてをシャットダウンしても、まだ 15 のワーカーがキューにサブスクライブされている 3 台のマシンを再起動すると、キューに 30 のワーカーがサブスクライブされている
実際には、ワーカーは 15 人しかいないはずです。
マシンの再起動/シャットダウン時にタスク キューへの接続を確実に閉じるにはどうすればよいですか? 私が試してみました:
Signal.trap("INT") do #handles the ctrl c case
connection.close do
EM.stop { exit }
end
end
Signal.trap("TERM") do #handles the reboot and shut down case
connection.close do
EM.stop { exit }
end
end
これは動作しません。