【发布时间】:2018-09-27 21:29:15
【问题描述】:
我正在使用rabbitmq 3.7.0 和nodejs,在typescript 中使用this 库。所有消费者都是{noAck: false, exclusive: false},所有队列都是{prefetch:1, expires: 14400000, durable:false}(4小时)。
我有很多队列没有任何待处理的确认,但仍然保存着数百条消息。除此之外,队列不会过期,几天后会产生性能问题。我没有找到任何理由说明为什么在确认过程之后消息仍在队列中。
谢谢
编辑 (1) - 缺少我从答案中感知到的信息
据我评估,这样数量的队列没有活跃的消费者。是否可以在管理工具中确认此信息?
使场景复杂化的是,我不能简单地在最后一个消费者之后删除队列,因为我可以使用它来恢复中断的会话,如果我在最后一个消费者之后不删除队列,队列将继续被更新。但是 expires 参数应该足够了。
来自管理工具的一些快照:
【问题讨论】: