import random import time import pika queue_name = 'queue_1' exchange = 'logs' def callback(ch, method, properties, body): print(f" [Consumer_1] - получено сообщение - {body.decode()}") time.sleep(random.choice([2, 3])) print(f" [Consumer_1] - сообщение обработано") print() ch.basic_ack(delivery_tag=method.delivery_tag) if __name__ == '__main__': connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) channel = connection.channel() try: # своя не анонимная очередь channel.queue_declare(queue=queue_name) # binding на exchange channel.queue_bind(exchange=exchange, queue=queue_name) channel.basic_consume(queue=queue_name, on_message_callback=callback) channel.start_consuming() except KeyboardInterrupt: connection.close()