29 lines
911 B
Python
29 lines
911 B
Python
|
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()
|