I'm setting up Celery using Amazon SQS and I came across the issue mentioned here.
The article mentions:
under rare circumstances you might receive a previously deleted message again. This can occur in the rare situation in which a DeleteMessage operation doesn't delete all copies of a message because one of the servers in the distributed Amazon SQS system isn't available at the time of the deletion. That message copy can then be delivered again. You should design your application so that no errors or inconsistencies occur if you receive a deleted message again.
I was curious what strategies people are using to handle this? I wouldn't want to send out duplicate emails.