Just sharing what I have since discovered regarding MQTT and kept messages.
(No blame is assigned to anyone. I am only telling the story.)
A long time back I needed a queuing system for voice messages.
Rather than using a queue
node, the delay
node was used, and it was set to rate limit
and a decent enough time set.
The next message would be then sent either after that time or if a message arrived to tell the node to send the next message.
That all works.
The other day I had/found two problems with MQTT and messages appearing the be backed up and looping forever.
I used MQTT Explorer
and that didn't help the situation.
I was seeing numbers like 300 in the queue.
At the end of things:
It was no where near that.
It was only like 1
message every say 1
second.
Yet the delay
node, MQTT Explorer
and other things were showing these hugely inflated numbers.
I discovered this simply by using a MQTT IN
node set to that topic.
It was only sending out a very low rate of messages.
And - to my great relief - was the same one over and over.
In summary
Be aware if you have such a problem with MQTT messages and you see a large amount of messages queued.... It may be only one.
Hope this is useful somewhere to someone.
It is just that WHILE I was trying to get to the bottom of things, it was really freaking me out that there were 300+
messages in the queue, running around because of this feedback loop that somehow happened.