如何设置消息 TTL(不是队列)
- 交换(交换发送到多个队列)
- 消息(发布消息时)
- 队列(在队列本身上,但同样这是消息 TTL,而不是队列 TTL)
我正在运行 RabbitMQ 3.x、Symfony 2.1.x 和RabbitMqBundle。
我试过的:
- 当我从 RabbitMQ Admin 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/videlalvaro/RabbitMqBundle / README )中设置
这给捆绑包使用的 AMQP 库带来了一堆错误。
我尝试修改 AMQP 库本身以允许x-message-ttl
消息属性,但出现异常Error sending data
。
有没有人使用 RabbitMQBundle 设置消息 TTL?
queue_options: {name: 'blah_queue', arguments: {'x-message-ttl' => 3600000}}