m2wsgi

Screenshot Software:
m2wsgi
Detalii soft:
Versiune: 0.5.2
Incarca data: 15 Apr 15
Producător: Ryan Kelly
Licenţă: Gratuit
Popularitate: 8

Rating: nan/5 (Total Votes: 0)

m2wsgi este un modul Python care oferă un handler poartă WSGI pentru serverul de web Mongrel2, care permite implementarea ușoară a aplicațiilor Python pe Mongrel2 & nbsp;. S-ar putea găsi, de asemenea, cursuri de ei de susținere util pentru dezvoltarea stivuitoare non-WSGI în Python.

Utilizarea de comandă-line

Cel mai simplu mod de a utiliza acest pachet este ca un lansator de linie de comandă:
python -m m2wsgi dotted.app.name TCP: //127.0.0.1: 9999
Acest lucru se va conecta la Mongrel2 la portul cerere specificat si a incepe sa soluționare a cererilor prin trecerea lor prin app WSGI specificat. În mod implicit, veți primi un singur fir muncitor manipulare toate cererile; creșterea numărului de fire, cum ar fi așa:
python -m m2wsgi --num-fire = TCP 5 dotted.app.name: //127.0.0.1: 9999
Sau, dacă fire nu sunt dvs. de lucru, utilizați eventlet pentru a amesteca biți în jurul astfel:
python -m m2wsgi --io = eventlet dotted.app.name TCP: //127.0.0.1: 9999
Sunt interesat de adăugarea de suport pentru alte module IO, cum ar fi gevent; contribuții bun venit.
Utilizare programatic
Dacă aveți nevoi mai complicate, puteți folosi m2wsgi din cadrul aplicației. Clasa principală este "WSGIHandler", care oferă o interfață server de simplă. Echivalentul a utilizării deasupra liniei de comandă este:
de la WSGIHandler import m2wsgi.base
handler = WSGIHandler (my_wsgi_app, "TCP: //127.0.0.1: 9999")
handler.serve ()
Pentru un control mai bun asupra conexiunea dintre handler-ul și Mongrel2, de a crea propriul obiect Connection:
de la WSGIHandler import m2wsgi.base, Conexiune
Conn = Conexiune (send_spec = "TCP: //127.0.0.1: 9999",
& Nbsp; recv_spec = "TCP: //127.0.0.1: 9999",
& Nbsp; send_ident = "9a5eee79-dbd5-4f33-8fd0-69b304c6035a")
handler = WSGIHandler (my_wsgi_app, Connecticut)
handler.serve ()
Nu avem deja una din astea?
Mai multe de fapt:
& Nbsp; * https://github.com/berry/Mongrel2-WSGI-Handler
& Nbsp; * https://bitbucket.org/dholth/mongrel2_wsgi
Nici unul dintre ei îndeplinit în totalitate nevoile mele. În special, acest pachet are suport transparent pentru:
& Nbsp; * codare răspuns chunked
& Nbsp; * "încărcare asincron" de corpuri mari de cerere
& Nbsp; * conectabile backend IO (de exemplu eventlet, gevent)
Este, de asemenea proiectat de la sol în mod special sus pentru Mongrel2. Acest lucru înseamnă că devine o mulțime de funcționalități gratuit, iar codul este mai simplu si mai usor ca un rezultat.
De exemplu, nu există nici o gestionare explicită a unei cozi de threadpool și cerere ca s-ar putea găsi în exemplu serverul CherryPy. În schimb, doar pornirea cat mai multe fire ca ai nevoie, le-au tot conecteze la aceeași priză handler, și mongrel2 (prin zmq) va încărca-echilibra în mod automat cererile acestora.
În mod similar, nu există nici un sprijin explicit pentru reîncărcarea atunci când codul schimbă. Doar ucide handler vechi și porniți unul nou. Dacă utilizați UUID Stivuitor fixe atunci zmq va asigura că predarea se întâmplă cu grație

Cerințe :.

  • Python

Limitări :

  • Când rulează mai multe fire, ctrl-C nu iese curat procesul. Se pare ca firele de fond se blocat într-un recv de blocare ().
  • Algoritmul de echilibrare a încărcării zmq este lacom round-robin, care nu este ideal. De exemplu, se poate programa mai multe solicitări rapide la același fir ca unul lent, ceea ce le face așteptați chiar dacă alte fire devin disponibile. Lucrez la un adaptor zmq care pot face ceva mai bun.

Alte software-uri de dezvoltator Ryan Kelly

dexml
dexml

5 Jun 15

django-supervisor
django-supervisor

20 Feb 15

PyEnchant
PyEnchant

28 Feb 15

withrestart
withrestart

28 Feb 15

Comentarii la m2wsgi

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!