![]() ![]() Therefore, the message deduplication code in the message-processing transaction should take care of this scenario, whether the SQS queue is a good ol’ one or a shiny new FIFO queue. What will happen after the visibility timeout for the message expires? The very same message will be dequeued again, and it will be processed again. It failed for whatever reason – there was a network outage, or the cleaning lady pulled the plug. Now, let’s say a message was processed successfully (Step 2), but just before the delete message call (Step 3), the process failed. Therefore, if you depend on ordering, you’d better make sure your message processing code is ready to handle this scenario. What will happen until the visibility timeout of the messages expires? - The messages that came after it will be dequeued in the meantime. After a message was dequeued, its processing has failed, and the operation should be retried. Let’s say your message processing code strongly depends on message ordering. This is definitely a step up, but it is not enough. ![]() Also, it should return the messages strictly in the order they were received. With the recent announcement, Step 1, the dequeueing of a message, can no longer return the same message more than once. The process of working with messages in SQS queues follows the following 3 steps: I’ve instructed everyone at our company to ignore this announcement and use the standard queues instead. Love you to death, but your recent announcement of FIFO Queues with Exactly-Once Processing is not only misleading – it’s also harmful. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |