Dom - Članak - Detalji

Kako koristiti tikvicu ili bocu s RabbitMQ?

Ava Taylor
Ava Taylor
AVA je predstavnik za korisničku službu u Zhejiang Nawas. Pruža profesionalne savjete i pomoć kupcima, pomažući im da odaberu najprikladniji Thermos Cup u skladu s njihovim potrebama.

Hej tamo! Ja sam dobavljač proizvoda tikvice i boca, a danas ću razgovarati o tome kako koristiti tikvicu ili bocu s RabbitMQ. Ako se bavite web razvojem ili samo tražite načine kako optimizirati svoje aplikacije, ovaj je post za vas.

Prvo, ukratko predstavimo što su tikvica, boca i zecmq. Flask je lagan web okvir u Pythonu. Super je lako započeti s i izvrsno je za izgradnju web -aplikacija malih i srednjih. Boca je također jednostavan i brz mikro -okvir za Python. Ima minimalistički dizajn, što ga čini povjetarcem. S druge strane, RabbitMQ je posrednik poruke. Pomaže različitim dijelovima vaše aplikacije međusobno komunicirati slanjem i primanjem poruka.

Stainless Steel Insulated Coffee Pot suppliersStainless Steel Insulated Coffee Pot

Zašto kombinirati tikvicu/bocu s RabbitMQ?

Dakle, zašto biste htjeli koristiti tikvicu ili bocu s RabbitMQ? Pa, u stvarnoj - svjetskoj aplikaciji možda ćete imati zadatke kojima je potrebno dugo vremena, poput slanja velikog broja e -pošte ili obrade velikih podataka. Ako ove zadatke obrađujete izravno u svojoj tikvici ili aplikaciji za bocu, to može učiniti vašu web aplikaciju sporo ili čak ne reagirati. Tu dolazi RabbitMQ. Možete ih prebaciti - trošeći zadatke u red poruka (RabbitMQ) i pustiti druge radnike da ih postupaju u pozadini. Na taj način vaša web aplikacija može nastaviti služiti druge zahtjeve bez čekanja da se dugotrajni zadaci završe.

Postavljanje okoliša

Prije nego što započnemo s kodiranjem, moramo postaviti svoje okruženje. Prvo, provjerite imate li Python instaliran na svom stroju. Tada možete instalirati tikvicu ili bocu i bocudugačakKnjižnica (koja se koristi za interakciju s RabbitMQ u Pythonu) koristećipip.

Pip Install Flask # ili pip install boce boca Pip Install pika

Ako koristite Flask, evo jednostavnog primjera kako ga integrirati s RabbitMQ. Recimo da imamo aplikaciju za tikvicu koja mora poslati poruku u red RabbitMQ kada korisnik podnese zahtjev.

uvoz pika iz tikvice uvoza tikvica App = flask (__ name__) @app.route ('/send_message') def send_message (): connection = pika.blockingConnection (pika.connectionparameters ('localhost')) kanal = conneue = queue_declare (queue_decl kanal.basic_publish (exchange = '', routing_key = 'my_queue', body = poruka) ispis ("[x] poslan % r" % poruka) connection.close () Povratak 'Poruka poslana u RabbitMq!' ako je __name__ == '__Main__': app.run (uklanjanje pogrešaka = true)

U ovom kodu, kada korisnik posjeti/send_messageRuta, naša Flask Aplikacija povezuje se s lokalnim poslužiteljem RabbitMQ, izjavljuje nazvan redmy_queue, i šalje joj poruku.

Sada, da vidimo kako postaviti radnika koji će konzumirati poruke iz reda.

uvoz pika def povratnog poziva (ch, metoda, svojstva, tijelo): ispis ("[x] primljen % r" % tijela) veza = pika.blockingConnection (pika.connectionParameters ('localhost')) kanal = connection.chanel () kanal.queue_declare = 'my_queue' (my_queue ') auto_ACK = TRUE, ON_MESSAGE_CALLBACK = povratni poziv) Print ('[*] Čekanje poruka. Za izlazak pritisnite Ctrl+C') Channel.Start_Consuming ()

Ova se radnička skripta povezuje s istim poslužiteljem RabbitMQ, izjavljujemy_queueOpet i počinje konzumirati poruke iz njega. Kad god stigne nova poruka,povratni pozivFunkcija se naziva, a poruka se ispisuje na konzolu.

Ako koristite bocu, postupak je prilično sličan. Evo jednostavnog primjera boce:

uvoz pika s rute za uvoz boca, pokrenite @Route ('/send_message') def send_message (): connection = pika.blockingconnection (pika.connectionParameters ('localhost')) kanal = connection.channel () kanal.queue_declare! kanal.basic_publish (exchange = '', routing_key = 'my_queue', body = poruka) ispis ("[x] poslan % r" % poruka) connection.close () Povratak 'Poruka poslana u RabbitMq!' Run (Host = 'Localhost', Port = 8080, Debug = True)

Prednosti naših proizvoda od tikvice i boca

Kao dobavljač, mogu vam reći da su naši proizvodi za tikvicu i boce, poputNehrđajući čelik izoliran lonac za kavu, su vrh - Notch. Izrađene su od materijala s visokom kvalitetom, osiguravajući trajnost i dugoročnu upotrebu. Bez obzira jeste li programer kojem je potreban pouzdan spremnik za vaše piće tijekom kodiranja ili tvrtke koje traže promotivne predmete, naši su proizvodi odličan izbor.

Rukovanje pogreškama i najbolje prakse

Kada radite s tikvicom ili bocom i zečjom, rukovanje pogreškama je presudno. Na primjer, ako je poslužitelj RabbitMQ dolje, vaša aplikacija može podići iznimku pri pokušaju povezivanja s njim. Možete koristiti Try - osim blokova za graciozno rješavanje ovih pogrešaka.

uvoz pika iz tikvica uvoz tikvica aplikacija = flask (__ name__) @app.route ('/send_message') def send_message (): pokušaj: connection = pika.blockingConnection (pika.connectionParameters ('localhost')) kanal = conneing.queue () kanal.queue () kanal RabbitMQ! ' kanal.basic_publish (exchange = '', routing_key = 'my_queue', body = poruka) ispis ("[x] poslan % r" % poruka) connection.close () Povratak 'Poruka poslana u RabbitMq!' Osim pika.exceptions.amqpconnectionError: Povratak "nije se uspio povezati s RabbitMQ!" ako je __name__ == '__Main__': app.run (uklanjanje pogrešaka = true)

Druga najbolja praksa je pravilno upravljanje vezama i kanalom. Obavezno zatvorite vezu nakon što završite s njom kako biste izbjegli curenje resursa.

Skaliranje i performanse

Ako vaša aplikacija raste, možda će vam trebati povećati postavljanje RabbitMQ. Možete koristiti više radnika za konzumiranje poruka iz reda istovremeno, što može poboljšati ukupne performanse. Također možete postaviti skup zečjih poslužitelja za visoku dostupnost.

Zaključak

Korištenje tikvice ili boce s RabbitMQ je moćna kombinacija koja vam može pomoći u izgradnji učinkovitijih i reaktivnih web aplikacija. Bez obzira obavljate li dugotrajne zadatke ili samo trebate način da komunicirate između različitih dijelova vaše aplikacije, RabbitMQ može biti sjajan dodatak.

Ako vas zanimaju naši proizvodi tikvice i boce, voljeli bismo razgovarati s vama. Posegnite na nas za više informacija i započnimo sjajan poslovni odnos. Tu smo da vam pružimo najbolje proizvode i usluge.

Reference

  • "Flask Web Development" Miguel Grinberg
  • "Rabbitmq In Action" Alvaro Videla i Jason JW Williams

Pošaljite upit

Popularne objave na blogu