From 7ea3ef3097bd6cc3c7e8cc134594b3bc245768d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=BE=D1=84=D1=8C=D1=8F=20=D0=9E=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D1=81=D0=BA=D0=B0=D1=8F?= Date: Fri, 15 Dec 2023 19:09:53 +0400 Subject: [PATCH] laba done --- tasks/ostrovskaya-sf/lab_4/README.md | 115 ++++++++++++++++++ .../lab_4/lab_4_py/.idea/.gitignore | 3 + .../inspectionProfiles/profiles_settings.xml | 6 + .../lab_4/lab_4_py/.idea/lab_4_py.iml | 8 ++ .../lab_4/lab_4_py/.idea/misc.xml | 4 + .../lab_4/lab_4_py/.idea/modules.xml | 8 ++ .../lab_4/lab_4_py/main_task/consumer_1.py | 20 +++ .../lab_4/lab_4_py/main_task/consumer_2.py | 19 +++ .../lab_4/lab_4_py/main_task/publisher.py | 19 +++ .../lab_4/lab_4_py/tutorial_1/receive.py | 25 ++++ .../lab_4/lab_4_py/tutorial_1/send.py | 11 ++ .../lab_4/lab_4_py/tutorial_2/new_task.py | 13 ++ .../lab_4/lab_4_py/tutorial_2/worker.py | 19 +++ .../lab_4/lab_4_py/tutorial_3/emit_log.py | 12 ++ .../lab_4/lab_4_py/tutorial_3/receive_logs.py | 21 ++++ tasks/ostrovskaya-sf/lab_4/pic/pic1.jpg | Bin 0 -> 27145 bytes tasks/ostrovskaya-sf/lab_4/pic/pic10.jpg | Bin 0 -> 77812 bytes tasks/ostrovskaya-sf/lab_4/pic/pic11.jpg | Bin 0 -> 135378 bytes tasks/ostrovskaya-sf/lab_4/pic/pic2.jpg | Bin 0 -> 54402 bytes tasks/ostrovskaya-sf/lab_4/pic/pic3.jpg | Bin 0 -> 88996 bytes tasks/ostrovskaya-sf/lab_4/pic/pic4.jpg | Bin 0 -> 41737 bytes tasks/ostrovskaya-sf/lab_4/pic/pic5.jpg | Bin 0 -> 127103 bytes tasks/ostrovskaya-sf/lab_4/pic/pic6.jpg | Bin 0 -> 34613 bytes tasks/ostrovskaya-sf/lab_4/pic/pic7.jpg | Bin 0 -> 129805 bytes tasks/ostrovskaya-sf/lab_4/pic/pic8.jpg | Bin 0 -> 75619 bytes tasks/ostrovskaya-sf/lab_4/pic/pic9.jpg | Bin 0 -> 133594 bytes 26 files changed, 303 insertions(+) create mode 100644 tasks/ostrovskaya-sf/lab_4/README.md create mode 100644 tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/.gitignore create mode 100644 tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/inspectionProfiles/profiles_settings.xml create mode 100644 tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/lab_4_py.iml create mode 100644 tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/misc.xml create mode 100644 tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/modules.xml create mode 100644 tasks/ostrovskaya-sf/lab_4/lab_4_py/main_task/consumer_1.py create mode 100644 tasks/ostrovskaya-sf/lab_4/lab_4_py/main_task/consumer_2.py create mode 100644 tasks/ostrovskaya-sf/lab_4/lab_4_py/main_task/publisher.py create mode 100644 tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_1/receive.py create mode 100644 tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_1/send.py create mode 100644 tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_2/new_task.py create mode 100644 tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_2/worker.py create mode 100644 tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_3/emit_log.py create mode 100644 tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_3/receive_logs.py create mode 100644 tasks/ostrovskaya-sf/lab_4/pic/pic1.jpg create mode 100644 tasks/ostrovskaya-sf/lab_4/pic/pic10.jpg create mode 100644 tasks/ostrovskaya-sf/lab_4/pic/pic11.jpg create mode 100644 tasks/ostrovskaya-sf/lab_4/pic/pic2.jpg create mode 100644 tasks/ostrovskaya-sf/lab_4/pic/pic3.jpg create mode 100644 tasks/ostrovskaya-sf/lab_4/pic/pic4.jpg create mode 100644 tasks/ostrovskaya-sf/lab_4/pic/pic5.jpg create mode 100644 tasks/ostrovskaya-sf/lab_4/pic/pic6.jpg create mode 100644 tasks/ostrovskaya-sf/lab_4/pic/pic7.jpg create mode 100644 tasks/ostrovskaya-sf/lab_4/pic/pic8.jpg create mode 100644 tasks/ostrovskaya-sf/lab_4/pic/pic9.jpg diff --git a/tasks/ostrovskaya-sf/lab_4/README.md b/tasks/ostrovskaya-sf/lab_4/README.md new file mode 100644 index 0000000..16f3aab --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/README.md @@ -0,0 +1,115 @@ +# Отчет по лабораторной работе №4 + +Выполнила студентка гр. ИСЭбд-41 Островская С. Ф. + +## Прохождение tutorial + +Установила rabbitMQ server, erlang и зашла в брокер под гостем по http://localhost:15672/#/ +![](pic/pic1.jpg) + +Туториал 1: + +![](pic/pic2.jpg) +![](pic/pic3.jpg) + +Туториал 2: + +![](pic/pic4.jpg) +![](pic/pic5.jpg) + +Туториал 3: + +![](pic/pic6.jpg) +![](pic/pic7.jpg) + +## Разработка демонстрационных приложений + +Предметная область: Дополнительный соглашения и договоры на проживание. +Разработаны три приложения, согласно предметной области. + +1. Publisher + +```py +import pika +import time +import random + +collection = ["Application for accommodation in a dormitory", "Rector's order", "Conclusion of an agreement", "Check-into a dormitory"] + +connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) +channel = connection.channel() + +channel.exchange_declare(exchange='Agreements', exchange_type='fanout') + +while True: + message = f"Message: {random.choice(collection)}" + + channel.basic_publish(exchange='Agreements', routing_key='', body=message) + + time.sleep(1) + +connection.close() +``` + +2. Consumer 1. + +```py +import pika +import time + +def process_message(ch, method, properties, body): + print(f"Получено сообщение: {body}") + time.sleep(3) + print("Сообщение успешно обработано") + +connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) +channel = connection.channel() + +result = channel.queue_declare(queue='', exclusive=True) +queue_name = result.method.queue + +channel.queue_bind(exchange='Agreements', queue=queue_name) + +channel.basic_consume(queue=queue_name, on_message_callback=process_message, auto_ack=True) + +print('Ожидание сообщений...') +channel.start_consuming() +``` + +3. Consumer 2. + +```py +import pika + + +def process_message(ch, method, properties, body): + print(f"Получено сообщение: {body}") + print("Сообщение успешно обработано") + +connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) +channel = connection.channel() + +result = channel.queue_declare(queue='', exclusive=True) +queue_name = result.method.queue + +channel.queue_bind(exchange='Agreements', queue=queue_name) + +channel.basic_consume(queue=queue_name, on_message_callback=process_message, auto_ack=True) + +print('Ожидание сообщений...') +channel.start_consuming() +``` + +## Результаты выполнения лабораторной работы + +Результат отработки Consumer_1: + +![](pic/pic8.jpg) +![](pic/pic9.jpg) + +Результат отработки Consumer_2: + +![](pic/pic10.jpg) +![](pic/pic11.jpg) + +Вывод: Consumer_2 нагружает меньше памяти, чем Consumer_1 и принимает сообщения гораздо быстрее, тем самым не позволяя очереди накапливать огромное количество сообщений. \ No newline at end of file diff --git a/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/.gitignore b/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/inspectionProfiles/profiles_settings.xml b/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/lab_4_py.iml b/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/lab_4_py.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/lab_4_py.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/misc.xml b/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/misc.xml new file mode 100644 index 0000000..d56657a --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/modules.xml b/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/modules.xml new file mode 100644 index 0000000..995468a --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/lab_4_py/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/tasks/ostrovskaya-sf/lab_4/lab_4_py/main_task/consumer_1.py b/tasks/ostrovskaya-sf/lab_4/lab_4_py/main_task/consumer_1.py new file mode 100644 index 0000000..ba5e8c8 --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/lab_4_py/main_task/consumer_1.py @@ -0,0 +1,20 @@ +import pika +import time + +def process_message(ch, method, properties, body): + print(f"Получено сообщение: {body}") + time.sleep(3) + print("Сообщение успешно обработано") + +connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) +channel = connection.channel() + +result = channel.queue_declare(queue='', exclusive=True) +queue_name = result.method.queue + +channel.queue_bind(exchange='Agreements', queue=queue_name) + +channel.basic_consume(queue=queue_name, on_message_callback=process_message, auto_ack=True) + +print('Ожидание сообщений...') +channel.start_consuming() \ No newline at end of file diff --git a/tasks/ostrovskaya-sf/lab_4/lab_4_py/main_task/consumer_2.py b/tasks/ostrovskaya-sf/lab_4/lab_4_py/main_task/consumer_2.py new file mode 100644 index 0000000..cc24bb1 --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/lab_4_py/main_task/consumer_2.py @@ -0,0 +1,19 @@ +import pika + + +def process_message(ch, method, properties, body): + print(f"Получено сообщение: {body}") + print("Сообщение успешно обработано") + +connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) +channel = connection.channel() + +result = channel.queue_declare(queue='', exclusive=True) +queue_name = result.method.queue + +channel.queue_bind(exchange='Agreements', queue=queue_name) + +channel.basic_consume(queue=queue_name, on_message_callback=process_message, auto_ack=True) + +print('Ожидание сообщений...') +channel.start_consuming() \ No newline at end of file diff --git a/tasks/ostrovskaya-sf/lab_4/lab_4_py/main_task/publisher.py b/tasks/ostrovskaya-sf/lab_4/lab_4_py/main_task/publisher.py new file mode 100644 index 0000000..7facc09 --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/lab_4_py/main_task/publisher.py @@ -0,0 +1,19 @@ +import pika +import time +import random + +collection = ["Application for accommodation in a dormitory", "Rector's order", "Conclusion of an agreement", "Check-into a dormitory"] + +connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) +channel = connection.channel() + +channel.exchange_declare(exchange='Agreements', exchange_type='fanout') + +while True: + message = f"Message: {random.choice(collection)}" + + channel.basic_publish(exchange='Agreements', routing_key='', body=message) + + time.sleep(1) + +connection.close() \ No newline at end of file diff --git a/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_1/receive.py b/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_1/receive.py new file mode 100644 index 0000000..f62e428 --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_1/receive.py @@ -0,0 +1,25 @@ +import pika, sys, os + +def main(): + connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) + channel = connection.channel() + + channel.queue_declare(queue='OstrovsofaLogs') + + def callback(ch, method, properties, body): + print(f" [x] Получено сообщение: {body}") + + channel.basic_consume(queue='OstrovsofaLogs', on_message_callback=callback, auto_ack=True) + + print(' [*] Ожидание сообщений. Для завершения CTRL+C') + channel.start_consuming() + +if __name__ == '__main__': + try: + main() + except KeyboardInterrupt: + print('Произошла ошибка') + try: + sys.exit(0) + except SystemExit: + os._exit(0) \ No newline at end of file diff --git a/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_1/send.py b/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_1/send.py new file mode 100644 index 0000000..0b605e6 --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_1/send.py @@ -0,0 +1,11 @@ +import pika + +connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) +channel = connection.channel() + +channel.queue_declare(queue='ostrovsofa') + +channel.basic_publish(exchange='',routing_key='ostrovsofa',body='My cat"s name is Montik!') +print(" [x] Отправлено сообщение") + +connection.close() \ No newline at end of file diff --git a/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_2/new_task.py b/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_2/new_task.py new file mode 100644 index 0000000..9481bbc --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_2/new_task.py @@ -0,0 +1,13 @@ +import pika +import sys + +connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) +channel = connection.channel() + +channel.queue_declare(queue='ostrovsofa2', durable=True) + +message = ' '.join(sys.argv[1:]) or "My cat's name is Montik!" +channel.basic_publish(exchange='', routing_key='ostrovsofa2', body=message, properties=pika.BasicProperties( + delivery_mode=pika.spec.PERSISTENT_DELIVERY_MODE)) +print(f" [x] Отправлено {message}") +connection.close() \ No newline at end of file diff --git a/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_2/worker.py b/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_2/worker.py new file mode 100644 index 0000000..4eb8ba9 --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_2/worker.py @@ -0,0 +1,19 @@ +import pika +import time + +connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) +channel = connection.channel() + +channel.queue_declare(queue='ostrovsofa2', durable=True) +print(' [*] Ожидание сообщений. Для завершения CTRL+C') + +def callback(ch, method, properties, body): + print(f" [x] Получено сообщение: {body.decode()}") + time.sleep(body.count(b'.')) + print(" [x] Выполнено") + ch.basic_ack(delivery_tag=method.delivery_tag) + +channel.basic_qos(prefetch_count=1) +channel.basic_consume(queue='ostrovsofa2', on_message_callback=callback) + +channel.start_consuming() \ No newline at end of file diff --git a/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_3/emit_log.py b/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_3/emit_log.py new file mode 100644 index 0000000..318f38f --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_3/emit_log.py @@ -0,0 +1,12 @@ +import pika +import sys + +connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) +channel = connection.channel() + +channel.exchange_declare(exchange='OstrovsofaLogs', exchange_type='fanout') + +message = ' '.join(sys.argv[1:]) or "Info: My cat's name is Montik!" +channel.basic_publish(exchange='OstrovsofaLogs', routing_key='', body=message) +print(f" [x] Отправлено сообщение: {message}") +connection.close() \ No newline at end of file diff --git a/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_3/receive_logs.py b/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_3/receive_logs.py new file mode 100644 index 0000000..230b0de --- /dev/null +++ b/tasks/ostrovskaya-sf/lab_4/lab_4_py/tutorial_3/receive_logs.py @@ -0,0 +1,21 @@ +import pika + +connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) +channel = connection.channel() + +channel.exchange_declare(exchange='OstrovsofaLogs', exchange_type='fanout') + +result = channel.queue_declare(queue='', exclusive=True) +queue_name = result.method.queue + +channel.queue_bind(exchange='OstrovsofaLogs', queue=queue_name) + +print(' [*] Ожидание сообщений. Для завершения CTRL+C') + +def callback(ch, method, properties, body): + print(f" [x] {body}") + +channel.basic_consume( + queue=queue_name, on_message_callback=callback, auto_ack=True) + +channel.start_consuming() \ No newline at end of file diff --git a/tasks/ostrovskaya-sf/lab_4/pic/pic1.jpg b/tasks/ostrovskaya-sf/lab_4/pic/pic1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..96332f021dd3fd5915ec6e1e9470c50a594bc72c GIT binary patch literal 27145 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 MZk_?#8qZ7r1B&@vs{jB1 literal 0 HcmV?d00001 diff --git a/tasks/ostrovskaya-sf/lab_4/pic/pic10.jpg b/tasks/ostrovskaya-sf/lab_4/pic/pic10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b9c7732c54a12d4a48ffad23329e3a74def326ae GIT binary patch literal 77812 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