User Tools

Site Tools


tanszek:oktatas:informacios_rendszerek_integralasa:uezenetsorok-rabbitmq_2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tanszek:oktatas:informacios_rendszerek_integralasa:uezenetsorok-rabbitmq_2 [2024/04/16 06:10] kneheztanszek: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 'qualityQueue' nevű üzenetsorra. Készítsen egy több komponensből álló alkalmazást, amely 2 kliensen keresztül kommunikál az üzenetsorral az alábbi módon: Egy minőségbiztosító rendszer mérőgépének 3 állapotát küldjük egy 'qualityQueue' nevű üzenetsorra. Készítsen egy több komponensből álló alkalmazást, amely 2 kliensen keresztül kommunikál az üzenetsorral az alábbi módon:
  
-  * Az első kliens, 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.  +  * 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 'GOOD', 'EXCELLENT' és a 'WRONG' üzeneteket leolvassa a qualityQueue sorról és gyűjti. Minden 10 megkapott azonos üzenet után a 'qualityStatistics' sorra küld egy üzenetet, amiben azt jelzi, hogy 10 (adott minőségű) üzenetet feldolgozott.  +  * **Készítsen egy második komponenst** amely a 'GOOD', 'EXCELLENT' és a 'WRONG' üzeneteket leolvassa a **qualityQueue** sorról és gyűjti. Minden 10 megkapott azonos üzenet után a '**qualityStatistics**' sorra küld egy üzenetet, amiben azt jelzi, hogy 10 (adott minőségű) üzenetet feldolgozott.  
-  * **Készítsen egy második klienst**, ami a 'qualityStatistics' sorrol olvassa a statisztikát és a konzolba kiírja hogy pl. '10 'WRONG' messages has been processed'+  * **Készítsen egy harmadik komponenst**, ami a 'qualityStatistics' sorrol olvassa a statisztikát és a konzolba kiírja hogy pl. '10 'WRONG' messages has been processed'
  
 <mermaid> <mermaid>
 flowchart TB flowchart TB
     MQ[("RabbitMQ Server\n(qualityQueue, qualityStatistics)")]     MQ[("RabbitMQ Server\n(qualityQueue, qualityStatistics)")]
-    Client1["Client 1\n(Sensor Data Sender)"] -->|sends GOOD/EXCELLENT/WRONG| MQ +    Client1["Component 1\n(Sensor Data Sender)"] -->|sends GOOD/EXCELLENT/WRONG| MQ 
-    Client2["Client 2\n(Quality Message Consumer)"] -- collects messages --> MQ+    Client2["Component 2\n(Quality Message Consumer)"] -- collects messages --> MQ
     Client2 -->|sends batch of 10 messages| MQ     Client2 -->|sends batch of 10 messages| MQ
-    Client3["Client 3\n(Statistics Consumer)"] -- receives and prints batches --> MQ+    Client3["Component 3\n(Statistics Consumer)"] -- receives and prints batches --> MQ
  
     subgraph Docker     subgraph Docker
Line 19: Line 19:
     end     end
  
-    subgraph Client Terminals+    subgraph Components
     Client1     Client1
     Client2     Client2
Line 52: 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 //__init__(self):// ben Használjuk a megfelelő IP-t a //__init__(self):// ben
  
-<code python>+<sxh python>
 import pika import pika
 import random import random
Line 85: 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 91: Line 91:
 A //__init__(self):// konstruktorban állítsuk be a rabbitMQ szerver IP címét A //__init__(self):// konstruktorban állítsuk be a rabbitMQ szerver IP címét
  
-<code python>+<sxh python>
 import pika import pika
  
Line 138: Line 138:
         consumer.close_connection()         consumer.close_connection()
  
-</code>+</sxh>
  
 Készítsük el a statisztika kiírását egy új konzolban: Készítsük el a statisztika kiírását egy új konzolban:
  
-<code python>+<sxh python>
 import pika import pika
  
Line 160: Line 160:
 print('Waiting for quality statistics...') print('Waiting for quality statistics...')
 channel.start_consuming() channel.start_consuming()
-</code>+</sxh>
  
  
tanszek/oktatas/informacios_rendszerek_integralasa/uezenetsorok-rabbitmq_2.1713247812.txt.gz · Last modified: 2024/04/16 06:10 by knehez