I have a service which integrate with AWS SQS. Some of our messages take longer than 12 hour(maximum visibility timeout) to process.
In this case, other consumers will pick up the same message after visibility timeout while the message is still being processed.
I am wondering what's the best practice for such cases. I can add de-duplication logic before processing messages but in this case, if the first consumer fail to process the message then the message won't go into DLQ.
Any suggestion would be appreciated!