Skip to content

Commit 559224c

Browse files
authored
Merge pull request #53 from cuda-networks/log_requeue_message
log entire message in case of re-queueing
2 parents 7827083 + 7383f09 commit 559224c

File tree

3 files changed

+15
-14
lines changed

3 files changed

+15
-14
lines changed

eb_sqs/tests/worker/tests_worker.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def setUp(self):
7373
def test_worker_execution(self):
7474
msg = '{"id": "id-1", "retry": 0, "queue": "default", "maxRetries": 5, "args": [], "func": "eb_sqs.tests.worker.tests_worker.dummy_task", "kwargs": {"msg": "Hello World!"}}'
7575

76-
result = self.worker.execute(msg, 2)
76+
result = self.worker.execute(msg)
7777

7878
self.assertEqual(result, 'Hello World!')
7979

eb_sqs/worker/service.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,11 @@ def process_messages(self, queues, worker, static_queues):
104104
except ClientError as exc:
105105
error_code = exc.response.get('Error', {}).get('Code', None)
106106
if error_code == 'AWS.SimpleQueueService.NonExistentQueue' and queue not in static_queues:
107-
logger.debug('[django-eb-sqs] Queue was already deleted {}: {}'.format(queue.url, exc), exc_info=1)
107+
logger.debug('[django-eb-sqs] Queue was already deleted {}: {}'.format(queue.url, exc), exc_info=True)
108108
else:
109-
logger.warning('[django-eb-sqs] Error polling queue {}: {}'.format(queue.url, exc), exc_info=1)
109+
logger.warning('[django-eb-sqs] Error polling queue {}: {}'.format(queue.url, exc), exc_info=True)
110110
except Exception as exc:
111-
logger.warning('[django-eb-sqs] Error polling queue {}: {}'.format(queue.url, exc), exc_info=1)
111+
logger.warning('[django-eb-sqs] Error polling queue {}: {}'.format(queue.url, exc), exc_info=True)
112112

113113
def delete_messages(self, queue, msg_entries):
114114
# type: (Queue, list) -> None
@@ -140,7 +140,12 @@ def _process_message(self, msg, worker):
140140
try:
141141
receive_count = int(msg.attributes[self._RECEIVE_COUNT_ATTRIBUTE])
142142

143-
worker.execute(msg.body, receive_count)
143+
if receive_count > 1:
144+
logger.warning('[django-eb-sqs] SQS re-queued message {} times - msg: {}'.format(
145+
receive_count, msg.body
146+
))
147+
148+
worker.execute(msg.body)
144149

145150
logger.debug('[django-eb-sqs] Processed message {}'.format(msg.message_id))
146151
except ExecutionFailedException as exc:
@@ -153,7 +158,7 @@ def _execute_user_code(function):
153158
with django_db_management():
154159
function()
155160
except Exception as exc:
156-
logger.error('[django-eb-sqs] Unhandled error: {}'.format(exc), exc_info=1)
161+
logger.error('[django-eb-sqs] Unhandled error: {}'.format(exc), exc_info=True)
157162

158163
def get_queues_by_names(self, sqs, queue_names):
159164
# type: (ServiceResource, list) -> list

eb_sqs/worker/worker.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,10 @@ def __init__(self, queue_client):
1818
super(Worker, self).__init__()
1919
self.queue_client = queue_client
2020

21-
def execute(self, msg, receive_count=1):
22-
# type: (unicode, int) -> Any
21+
def execute(self, msg):
22+
# type: (unicode) -> Any
2323
try:
2424
worker_task = WorkerTask.deserialize(msg)
25-
26-
if receive_count > 1:
27-
logger.warning('[django-eb-sqs] SQS re-queued message {} times - queue: {} func: {} retry: {} args: {}'.format(
28-
receive_count, worker_task.queue, worker_task.abs_func_name, worker_task.retry, worker_task.args
29-
))
3025
except Exception as ex:
3126
logger.exception(
3227
'Message %s is not a valid worker task: %s',
@@ -120,7 +115,8 @@ def _enqueue_task(self, worker_task, delay, execute_inline, is_retry, count_retr
120115

121116
raise QueueException()
122117

123-
def _execute_task(self, worker_task):
118+
@classmethod
119+
def _execute_task(cls, worker_task):
124120
# type: (WorkerTask) -> Any
125121
result = worker_task.execute()
126122
return result

0 commit comments

Comments
 (0)