38 lines
1.0 KiB
Python
38 lines
1.0 KiB
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()
|