我希望我的队列删除在一定时间内未处理的消息。
我已经通过记录发布时间在使用者中进行了此操作。但是,在没有人订阅的情况下,队列只丢弃陈旧的消息会更好。
我可以在Pika中的消息中设置到期时间(TTL)吗?RabbitMQ文档对此进行了讨论,但是我在Pika文档中看不到TTL引用。
您可以使用过期标志BasicProperties对象上设置的每封邮件的TTL,为鼠兔文档中看到这里。
使用它看起来像这样。
channel.basic_publish(
exchange='',
routing_key='hello_world',
properties=pika.BasicProperties(
expiration='60000',
),
body='my message'
)
Run Code Online (Sandbox Code Playgroud)
请记住,该expiration策略使用毫秒作为字符串表示,因此60000将转换为60秒。
您可以在此处阅读有关基于消息的TTL的更多信息和注意事项。
| 归档时间: |
|
| 查看次数: |
1241 次 |
| 最近记录: |