どちらからでもメッセージTTL(キューではない)を設定するにはどうすればよいですか
- Exchange (交換は複数のキューに送信されます)
- メッセージ(メッセージ公開時)
- キュー (キュー自体にありますが、これはメッセージ TTL であり、キュー TTL ではありません)
私は RabbitMQ 3.x、Symfony 2.1.x、および RabbitMqBundle を実行しています。
私が試したこと:
- RabbitMQ 管理 UI からキュー自体を作成するときにメッセージ TTL を設定する
メッセージのプロパティを に設定しました'x-message-ttl' => 3600000
。RabbitMQ 構成では、次のようになります。
{
"name": "blah_queue",
"vhost": "foobar",
"durable": true,
"auto_delete": false,
"arguments": {
'x-message-ttl' => 3600000
}
},
これは私が得るエラーです:
PRECONDITION_FAILED - inequivalent arg 'x-message-ttl'for queue
config.yml に設定してみました(symfony/ https://github.com/videlvaro/RabbitMqBundle/README )
これにより、バンドルが使用する AMQP ライブラリで一連のエラーが発生します。
メッセージ プロパティを許可するように AMQP ライブラリ自体を変更しようとしましたx-message-ttl
が、例外が発生しError sending data
ました。
RabbitMQBundle を使用してメッセージ TTL を設定した人はいますか?
queue_options: {name: 'blah_queue', arguments: {'x-message-ttl' => 3600000}}