しばらく使用しているRabbitMQショベルを持っています。
別のPC「192.168.7.6」からのメッセージをシャブリングしているPC「192.168.7.1」があります。これは、「192.168.7.6」が再起動しない限り機能します。その後、「192.168.7.1」のショベルはRUNNING状態のままになり、メッセージを受信したり、再接続したりすることはありません。したがって、メッセージは「192.168.7.6」で無期限にバッファリングされます。
これは、シャベルの設定を示す私の設定ファイルからの抜粋です。
[{rabbit, [{disk_free_limit, {mem_relative, 1.0}}]},
{rabbitmq_shovel,
[ {shovels, [ {backbone_shovel,
[ {sources,
[ {brokers, [ "amqp://guest:guest@192.168.7.6"
]}
, {queue.declare, [
{queue, <<"backbone">>}
, durable
]}
]}
, {destinations,
[ {broker, "amqp://guest:guest@localhost"}
, {queue.declare, [
{queue, <<"backbone">>}
, durable
]}
]}
, {queue, <<"backbone">>}
, {ack_mode, on_confirm}
, {reconnect_delay, 5}
]},
ソース(192.168.7.6)が再起動しているときのrabbitmqショベル管理プラグインからの抜粋を次に示します。
backbone_shovel
running
type: network
virtual_host: /
host: 192.168.7.6
username: guest
ssl: false
type: network
virtual_host: /
host: localhost
username: guest
ssl: false
2012-11-26 11:03:51
ターゲットが死んだときにシャベルを強制的に再起動するにはどうすればよいですか?