This shows you the differences between two versions of the page.
isi:laboratoare:07 [2024/11/17 22:30] alexandru.predescu |
isi:laboratoare:07 [2024/11/21 11:04] (current) sorin.ciolofan |
||
---|---|---|---|
Line 270: | Line 270: | ||
3. **Chat interactiv** | 3. **Chat interactiv** | ||
+ | |||
+ | Această aplicație presupune un server Flask care interacționează cu RabbitMQ și expune o interfață web pentru utilizator. | ||
**Implementare:** Pornind de la codul pentru această aplicație de mesagerie, implementează funcționalitățile necesare, marcate cu TODO-uri in fisierul ''message_service.py'', pentru ca aceasta să funcționeze complet: | **Implementare:** Pornind de la codul pentru această aplicație de mesagerie, implementează funcționalitățile necesare, marcate cu TODO-uri in fisierul ''message_service.py'', pentru ca aceasta să funcționeze complet: | ||
Line 284: | Line 286: | ||
Pentru a rula aplicația, folosește comanda: ''python app.py'' sau ''flask run''. | Pentru a rula aplicația, folosește comanda: ''python app.py'' sau ''flask run''. | ||
+ | |||
Aceasta va rula implicit pe portul 5000, iar pentru a vizualiza interfața pusă la dispoziție de aceasta, deschideți [[http://localhost:5000|]]. | Aceasta va rula implicit pe portul 5000, iar pentru a vizualiza interfața pusă la dispoziție de aceasta, deschideți [[http://localhost:5000|]]. | ||
- | Pentru a rula aplicația pe un alt port decât cel implicit, rulați ''flask run --port 5001''. | + | Pentru a rula aplicația pe un alt port decât cel implicit, rulați ''flask run <nowiki>--</nowiki>port 5001''. |
</note> | </note> | ||
Line 308: | Line 311: | ||
cu utilizatorul si parola de mai sus și caută în tab-ul //Queues and Streams// după numele tău. Queue-ul o să se numească //chatUser.username//, iar tu trebuie să folosești doar //username// pentru a te conecta. În situația în care totuși nu te regăsești, poți folosi unul dintre utilizatorii următori: //bob//, //alice//, //stefan//, //alex//.</note> | cu utilizatorul si parola de mai sus și caută în tab-ul //Queues and Streams// după numele tău. Queue-ul o să se numească //chatUser.username//, iar tu trebuie să folosești doar //username// pentru a te conecta. În situația în care totuși nu te regăsești, poți folosi unul dintre utilizatorii următori: //bob//, //alice//, //stefan//, //alex//.</note> | ||
+ | |||
+ | <note important> | ||
+ | În situația în care întâmpinați o eroare similară cu "connection lost" sau "unable to pop from an empty queue" atunci când începeți să consumați mesaje, este indicat să adăugați o metodă nouă pentru a crea un channel și să utilizați un channel nou creat atunci când începeți să ascultați. | ||
+ | |||
+ | <code> | ||
+ | def getChannel(self): | ||
+ | connection = pika.BlockingConnection(self.connection_params) | ||
+ | return connection.channel() | ||
+ | </code> | ||
+ | </note> | ||