I know SQS ain't build for that, but I'm curious is it possible to find messages in a queue that meet some criteria?
I can pull messages in a loop, search the message bodies for some pattern (without even deserializing them), and filter the messages I needed. But then it is possible to end up with an infinite loop - the first messages I read will be back to the queue by the time when I reach the end of the queue...
Extending visibility of the messages possible, but how do I know exactly how long it will take to scan the entire queue, and for how long should I extend the visibility? What if I have literally ten thousand messages in there?
Is there any workaround here? I need to scan the queue for some messages, and delete those...
See Question&Answers more detail:os