@@ -56,16 +56,33 @@ def process_queues(self, queue_names):
5656 ', ' .join ([queue .url for queue in queues ])
5757 ))
5858
59+ logger .debug ('[django-eb-sqs] Processing {} queues' .format (len (queues )))
5960 self .process_messages (queues , worker )
6061
6162 def process_messages (self , queues , worker ):
6263 # type: (list, Worker) -> None
6364 for queue in queues :
6465 try :
6566 messages = self .poll_messages (queue )
67+ logger .debug ('[django-eb-sqs] Polled {} messages' .format (len (messages )))
68+
69+ msg_entries = []
6670
6771 for msg in messages :
6872 self .process_message (msg , worker )
73+ msg_entries .append ({
74+ 'Id' : msg .message_id ,
75+ 'ReceiptHandle' : msg .receipt_handle
76+ })
77+
78+ if len (messages ) > 0 :
79+ response = queue .delete_messages (Entries = msg_entries )
80+ logger .debug ('[django-eb-sqs] Deleted {} messages successfully' .format (
81+ len (response .get ('Successful' , []))
82+ ))
83+ logger .debug ('[django-eb-sqs] Failed deleting {} messages' .format (
84+ len (response .get ('Failed' , []))
85+ ))
6986 except Exception as exc :
7087 logger .warning ('[django-eb-sqs] Error polling queue {}: {}' .format (queue .url , exc ), exc_info = 1 )
7188
@@ -84,9 +101,6 @@ def process_message(self, msg, worker):
84101 logger .debug ('[django-eb-sqs] Processed message {}' .format (msg .message_id ))
85102 except Exception as exc :
86103 logger .error ('[django-eb-sqs] Unhandled error: {}' .format (exc ), exc_info = 1 )
87- finally :
88- msg .delete ()
89- logger .debug ('[django-eb-sqs] Deleted message {}' .format (msg .message_id ))
90104
91105 def get_queues_by_names (self , sqs , queue_names ):
92106 # type: (ServiceResource, list) -> list
0 commit comments