import pika import time import threading def process_message(ch, method, properties, body): print(f"Получено сообщение (Consumer 1): {body.decode('utf-8')}") time.sleep(2) ch.basic_ack(delivery_tag=method.delivery_tag) def consume_messages(channel, queue_name, exchange_name): channel.queue_declare(queue=queue_name) channel.queue_bind(exchange=exchange_name, queue=queue_name) channel.basic_consume(queue=queue_name, on_message_callback=process_message) print("Consumer 1 начал прослушивание сообщений...") channel.start_consuming() def main(): connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() exchange_name = 'logs' queue_name = 'queue1' consumer_thread = threading.Thread(target=consume_messages, args=(channel, queue_name, exchange_name)) consumer_thread.start() consumer_thread.join() connection.close() if __name__ == '__main__': main()