使用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中的更多信息
添加回答
举报
0/150
提交
取消