33 lines
1022 B
Python
33 lines
1022 B
Python
|
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()
|