RED-4653: Corrected signal handler by correctly handling passed params

This commit is contained in:
Viktor Seifert 2022-08-01 11:26:15 +02:00
parent 6c2652837a
commit fc1f23a24d

View File

@ -7,7 +7,7 @@ from typing import Callable
import pika
import pika.exceptions
from pyinfra.config import get_config, Config
from pyinfra.config import Config
pika_logger = logging.getLogger("pika")
pika_logger.setLevel(logging.WARNING)
@ -34,8 +34,8 @@ class QueueManager(object):
connection_params = get_connection_params(config)
atexit.register(self.stop_consuming)
signal.signal(signal.SIGTERM, self.stop_consuming)
signal.signal(signal.SIGINT, self.stop_consuming)
signal.signal(signal.SIGTERM, self._handle_stop_signal)
signal.signal(signal.SIGINT, self._handle_stop_signal)
self._connection = pika.BlockingConnection(parameters=connection_params)
self._channel = self._connection.channel()
@ -75,6 +75,10 @@ class QueueManager(object):
self._consumer_token = None
def _handle_stop_signal(self, signal_number, _stack_frame, *args, **kwargs):
self.logger.info(f"Received signal {signal_number}")
self.stop_consuming()
def _create_queue_callback(self, process_message_callback: Callable):
def callback(_channel, frame, properties, body):
self.logger.info(f"Received message from queue with delivery_tag {frame.delivery_tag}")