From 9339186b86f2fe9653366c22fcdc9f7fc096b138 Mon Sep 17 00:00:00 2001 From: Viktor Seifert Date: Fri, 22 Jul 2022 18:07:25 +0200 Subject: [PATCH] RED-4653: RED-4653: Reordered code to acknowledge message before publishing a result message --- pyinfra/queue/queue_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyinfra/queue/queue_manager.py b/pyinfra/queue/queue_manager.py index 4cd4a05..9e945d5 100644 --- a/pyinfra/queue/queue_manager.py +++ b/pyinfra/queue/queue_manager.py @@ -75,11 +75,11 @@ class QueueManager(object): unpacked_message_body = json.loads(body) callback_result = process_message_callback(unpacked_message_body) + self._channel.basic_ack(frame.delivery_tag) + self.logger.info("Processed message, publishing result to result-queue") self._channel.basic_publish("", self._output_queue, json.dumps(callback_result).encode()) - - self._channel.basic_ack(frame.delivery_tag) except Exception as ex: n_attempts = _get_n_previous_attempts(properties) + 1 self.logger.warning(f"Failed to process message, {n_attempts} attempts, error: {str(ex)}")