之前看了一篇文档https://q.cnblogs.com/q/89589/
提到:
如果优先队列设置了message-ttl,则由于server的ttl清理是从head方向检测处理的,低优先级的过期消息可能会一直存在而无法被清理,且会被统计(如ready的消息数,但不会被deliver)。
目前遇到类似问题,还没有好的解决办法,rabbitMq中优先级队列功能,低优先级的消息也许会被高优先级长期阻塞,希望实现获取到消息时长,在消息长期排队未处理后提升低优先级消息的优先级等级
这个没太好办法,本身mq就是first in first out的,如果要mq本身来根据条件自己对消息提升位置本身就和这个意图相左了。
实际上如果碰到你这种情况应该是mq后面消费速度太慢,解决这个问题是才正道。
谢谢你的回复,目前看来是没有什么好的办法,RabbitMQ自带的优先级通过时间动态调整。