tanszek:oktatas:informacios_rendszerek_integralasa:uezenetsorok-rabbitmq_2
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tanszek:oktatas:informacios_rendszerek_integralasa:uezenetsorok-rabbitmq_2 [2023/05/08 07:22] – knehez | tanszek:oktatas:informacios_rendszerek_integralasa:uezenetsorok-rabbitmq_2 [2024/04/24 06:45] (current) – knehez | ||
---|---|---|---|
Line 3: | Line 3: | ||
Egy minőségbiztosító rendszer mérőgépének 3 állapotát küldjük egy ' | Egy minőségbiztosító rendszer mérőgépének 3 állapotát küldjük egy ' | ||
- | * Az első kliens, ami a mérőgépre helyezett érzékelőre kapcsolódik a ' | + | * Az első komponenst, ami a mérőgépre helyezett érzékelőre kapcsolódik a '**qualityQueue**' üzenetsorra pont-pont csatlakozással véletlenszerűen GOOD, EXCELLENT és WRONG üzeneteket küld másodpercenként. |
- | * **Készítsen egy komponenst** amely a ' | + | * **Készítsen egy második |
- | * **Készítsen egy második klienst**, ami a ' | + | * **Készítsen egy harmadik komponenst**, ami a ' |
- | A fenti feladatot a http:// | + | < |
+ | flowchart TB | ||
+ | MQ[(" | ||
+ | Client1[" | ||
+ | Client2[" | ||
+ | Client2 --> | ||
+ | Client3[" | ||
+ | |||
+ | subgraph Docker | ||
+ | MQ | ||
+ | end | ||
+ | |||
+ | subgraph Components | ||
+ | Client1 | ||
+ | Client2 | ||
+ | Client3 | ||
+ | end | ||
+ | |||
+ | classDef machine fill:# | ||
+ | classDef clients fill:# | ||
+ | class Docker machine; | ||
+ | class Client1, | ||
+ | |||
+ | </ | ||
+ | |||
+ | A fenti feladatot a http:// | ||
=== RabbitMQ indítása docker-ben === | === RabbitMQ indítása docker-ben === | ||
Line 14: | Line 39: | ||
< | < | ||
- | docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.11-management | + | docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq: |
</ | </ | ||
Line 27: | Line 52: | ||
Ezzel telepítettük a pika modult, ami a rabbitMQ-hoz való csatlakozást biztosítja. | Ezzel telepítettük a pika modult, ami a rabbitMQ-hoz való csatlakozást biztosítja. | ||
- | Hozzuk létre a quality_message_sender.py-t: | + | Hozzuk létre a **quality_message_sender.py**-t: |
Használjuk a megfelelő IP-t a // | Használjuk a megfelelő IP-t a // | ||
- | <code python> | + | <sxh python> |
import pika | import pika | ||
import random | import random | ||
Line 60: | Line 85: | ||
sender.close_connection() | sender.close_connection() | ||
- | </code> | + | </sxh> |
A második komponenshez indítsunk egy új konzolt: | A második komponenshez indítsunk egy új konzolt: | ||
Line 66: | Line 91: | ||
A // | A // | ||
- | <code python> | + | <sxh python> |
import pika | import pika | ||
Line 113: | Line 138: | ||
consumer.close_connection() | consumer.close_connection() | ||
- | </code> | + | </sxh> |
+ | |||
+ | Készítsük el a statisztika kiírását egy új konzolban: | ||
+ | |||
+ | <sxh python> | ||
+ | import pika | ||
+ | |||
+ | # RabbitMQ settings | ||
+ | connection = pika.BlockingConnection(pika.ConnectionParameters(' | ||
+ | channel = connection.channel() | ||
+ | |||
+ | channel.queue_declare(queue=' | ||
+ | |||
+ | def callback(ch, | ||
+ | message = body.decode() | ||
+ | print(f' | ||
+ | ch.basic_ack(delivery_tag=method.delivery_tag) | ||
+ | |||
+ | channel.basic_consume(queue=' | ||
- | Készítsük el a statisztika kíírását: | + | print(' |
+ | channel.start_consuming() | ||
+ | </ | ||
tanszek/oktatas/informacios_rendszerek_integralasa/uezenetsorok-rabbitmq_2.1683530520.txt.gz · Last modified: 2023/05/08 07:22 by knehez