猿问

如何在RabbitMQ中创建延迟队列?

使用Python,Pika和RabbitMQ创建延迟(或停放)队列的最简单方法是什么?我见过类似的问题,但Python没有。

我在设计应用程序时发现了一个有用的想法,因为它使我们能够限制需要再次重新排队的消息。

总是有可能收到的消息超出您的处理能力,例如HTTP服务器速度慢或数据库承受的压力太大。

我还发现,在丢失消息的容忍度为零的情况下出现问题时,如果出现问题,并且对无法处理的消息进行重新排队可能会解决此问题,这将非常有用。它还可能会导致问题,使消息一遍又一遍地排队。潜在导致性能问题,并记录垃圾邮件。


万千封印
浏览 210回答 3
3回答

一只甜甜圈

您可以使用RabbitMQ官方插件:x-delayed-message。首先,下载ez文件并将其复制到Your_rabbitmq_root_path / plugins其次,启用插件(无需重新启动服务器):rabbitmq-plugins enable rabbitmq_delayed_message_exchange最后,发布带有“ x-delay”标头的消息,例如:headers.put("x-delay", 5000);注意:它不能确保您的邮件的安全,因为如果您的邮件仅在Rabbitmq服务器停机期间到期,则不幸的是该邮件丢失了。因此,使用此方案时请务必小心。享受它和rabbitmq-delayed-message-exchange中的更多信息
随时随地看视频慕课网APP

相关分类

Python
我要回答