Change message deletion behavior of SQS queue to use discard (#4287)

This commit is contained in:
Silvio 2021-09-15 22:05:45 +02:00 committed by GitHub
parent 69c2a11f5c
commit 79f70aa0c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -886,12 +886,11 @@ class SQSBackend(BaseBackend):
):
raise ReceiptHandleIsInvalid()
# Delete message from queue regardless of pending state
new_messages = []
for message in queue._messages:
# Only delete message if it is not visible and the receipt_handle
# matches.
if message.receipt_handle == receipt_handle:
queue.pending_messages.remove(message)
queue.pending_messages.discard(message)
continue
new_messages.append(message)
queue._messages = new_messages