import logging import pika from mini_queue.utils.config import CONFIG from mini_queue.utils.rabbitmq import make_channel, declare_queue, make_callback, read_connection_params def main(): logging.info(" [S] Startet happy pikachu!") parameters = read_connection_params() connection = pika.BlockingConnection(parameters) channel = make_channel(connection) declare_queue(channel, CONFIG.rabbitmq.queues.input) while True: try: channel.basic_consume( queue=CONFIG.rabbitmq.queues.input, auto_ack=False, on_message_callback=make_callback() ) logging.info(" [*] Waiting for messages. To exit press CTRL+C") channel.start_consuming() except pika.exceptions.ConnectionClosedByBroker as err: logging.info(f"Caught a channel error: {err}, retrying...") continue except pika.exceptions.AMQPChannelError as err: logging.critical(f"Caught a channel error: {err}, stopping...") break except pika.exceptions.AMQPConnectionError: logging.info("Connection was closed, retrying...") continue if __name__ == "__main__": logging_level = CONFIG.service.logging_level logging.basicConfig(level=logging_level) main()