有很多方法可以延迟队列的实施。数据库储罐查询和查询,以确定任务的延迟时间是否到了。如果执行任务,此方案会消耗大量的服务器内存消耗,存在延迟,数据库损失很大,仅适用于某些小型项目。REDIS键触发以触发延迟任务的执行,并且在本期中引入的兔队队列以实现延迟队列。
实施原理:设置队列消息设置的到期时间(TTL)。消息到期后,它将交付到致命的队列,我们可以在此处处理延迟的任务。
1.死亡信的消息成为队列中的一封死信后,它将被送回设定的交换。这个Exce是DLX。它通过routing_key.essence的绑定传递到相应的队列
2.死信消息3.到期新闻
作曲家需要php-amqplib/php-amqplib将代码粘贴到root目录的public.php文件中
感谢您的观看!StreetLamp尊重它!
原始:https://juejin.cn/post/7102346193128128548