如何可以設置消息TTL(未隊列)從任一設置消息TTL爲一分小時的RabbitMQ
- 交易所(交換髮送到多個隊列)
- 消息(發佈消息時)
- 隊列(隊列本身,但是這同樣是消息TTL而不是隊列TTL)
我跑的RabbitMQ 3.x中,Symfony的2.1.x的和RabbitMqBundle。
我已經試過什麼:
- 設置消息TTL當我提出從RabbitMQ的管理UI
隊列本身我設置了消息屬性'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/videlalvaro/RabbitMqBundle/README)
此設置給捆綁使用的AMQP庫帶來了一堆錯誤。
我嘗試修改AMQP庫本身以允許x-message-ttl
消息屬性,並且我得到一個異常Error sending data
。
有沒有人使用RabbitMQBundle設置消息TTL?
queue_options: {name: 'blah_queue', arguments: {'x-message-ttl' => 3600000}}
我相信你想要做這樣的事情:'arguments:{'x-message-ttl':['I',3600000]}'看看[這個測試文件](https:// github。com/romainneutron/php-amqplib/blob/9165f99461c3455ddc93916ad0821e99b0d19c43/demo/queue_arguments.php) –