3

I have a queue that is going to have a massive number of messages on it, which will be processed over many days. It is likely that some of the first messages onto the queue could still be there waiting for a chance to be processed for longer than 14 days, the maximum message retention time.

My original thought was to set up a dead letter queue to take these messages in as they expire, then just put a fresh copy of them back onto the main queue, but after some reading it seems that messages that outlive the retention time are deleted, not send to a DLQ.

Is there a strategy I can use to detect messages before they hit the 14 day mark and put a fresh copy of them on the queue so they aren't simply lost without being processed?

Thank you

Mitchell Griest
  • 467
  • 1
  • 7
  • 21
  • 1
    See https://stackoverflow.com/questions/38725962/aws-sqs-message-retention-period – Cagatay Gurturk Sep 02 '17 at 13:22
  • 1
    If you are anticipating messages lingering in a queue for 14 days, this suggests you are not using SQS for its intended purpose. For a message to linger for 14 days suggests that whatever is processing the messages is severely deficient in its capacity. Once a message is seen and processed, you delete it from the queue, and in most cases the design is for this to happen within seconds or minutes, sometimes hours, but rarely multiple days. – Michael - sqlbot Sep 02 '17 at 17:47

0 Answers0