为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

万千封印 2021-03-20 14:15:14
使用Python,Pika和RabbitMQ创建延迟(或停放)队列的最简单方法是什么?我见过类似的问题,但Python没有。我在设计应用程序时发现了一个有用的想法,因为它使我们能够限制需要再次重新排队的消息。总是有可能收到的消息超出您的处理能力,例如HTTP服务器速度慢或数据库承受的压力太大。我还发现,在丢失消息的容忍度为零的情况下出现问题时,如果出现问题,并且对无法处理的消息进行重新排队可能会解决此问题,这将非常有用。它还可能会导致问题,使消息一遍又一遍地排队。潜在导致性能问题,并记录垃圾邮件。
查看完整描述

3 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

您可以使用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中的更多信息


查看完整回答
反对 回复 2021-03-31
  • 3 回答
  • 0 关注
  • 208 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号