Replies: 1 comment
-
From the docs:
Consumers won't get them as deliveries but if a queue never has any activity, those messages will not be marked for deletion from disk. This design assumes that queues have consumers at least "most of the time", that is, that there aren't many situation of queues with messages but without consumers for, say, hours and hours. Queue TTL will delete the entire queue and all of its messages very shortly after expiration. This can be used as an extra layer protection against such "orphan queues":
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi team,
I'm facing the issue similar to this #2007.
We have push many messages to the queue, and each had a per-message TTL. The problem is message expired still in the queue and cannot be discard ontime. After reading RabbitMQ documents, I'm realised that "Only when expired messages reach the head of a queue will they actually be discarded (or dead-lettered)."
We are now finding a solution to solve this problem.
So I want to ask Support Team provide us some suggestion for this situation.
Btw, the TTL section on RabbitMQ web said that "When retroactively applying a per-message TTL policy, it is recommended to have consumers online to make sure the messages are discarded quicker.". Does it mean if we have the consumer, message expired will be discard ontime without reaching head of a queue?
Thank you so much. Hope to see response from Support Team
Beta Was this translation helpful? Give feedback.
All reactions