m2wsgi

Skjermbilde programvare:
m2wsgi
Prog.varedetaljer:
Versjon: 0.5.2
Last opp dato: 15 Apr 15
Utvikler: Ryan Kelly
Lisens: Gratis
Popularitet: 8

Rating: nan/5 (Total Votes: 0)

m2wsgi er en Python-modul som gir en WSGI gateway behandleren for Mongrel2 web server, noe som gir enkel distribusjon av Python-apps på Mongrel2. & Nbsp; Du kan også finne sin støtte klasser nyttig for å utvikle ikke-WSGI handlers i Python.

Kommandolinjebruk

Den enkleste måten å bruke denne pakken er som et kommandolinje launcher:
python -m m2wsgi dotted.app.name tcp: //127.0.0.1: 9999
Dette vil koble til Mongrel2 på den angitte forespørsel port og begynne å håndtere forespørsler ved å føre dem gjennom den angitte WSGI app. Som standard vil du få en enkelt arbeidstaker tråd håndtere alle forespørsler; øke antall tråder som så:
python -m m2wsgi --num-tråder = 5 dotted.app.name tcp: //127.0.0.1: 9999
Eller hvis trådene ikke er din greie, kan du bruke eventlet å stokke biter rundt som så:
python -m m2wsgi --io = eventlet dotted.app.name tcp: //127.0.0.1: 9999
Jeg er interessert i å legge til støtte for andre IO moduler som gevent; bidrag velkommen.
programma Bruk
Hvis du har mer kompliserte behov, kan du bruke m2wsgi fra programmet. Den største klassen er "WSGIHandler" som gir en enkel server grensesnitt. Det samme som ovenfor kommandolinjebruk er:
fra m2wsgi.base import WSGIHandler
behandleren = WSGIHandler (my_wsgi_app, "tcp: //127.0.0.1: 9999")
handler.serve ()
For bedre kontroll over forbindelsen mellom behandleren og Mongrel2, lage din egen Connection objektet:
fra m2wsgi.base import WSGIHandler, Tilkoblings
conn = Connection (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")
behandleren = WSGIHandler (my_wsgi_app, conn)
handler.serve ()
Ikke vi allerede har en av disse?
Flere faktisk:
& Nbsp; * https://github.com/berry/Mongrel2-WSGI-Handler
& Nbsp; * https://bitbucket.org/dholth/mongrel2_wsgi
Ingen av dem fullt ut oppfylt mine behov. Spesielt har denne pakken gjennomsiktig støtte for:
& Nbsp; * du delvis respons koding
& Nbsp; * "async upload" av store forespørsel organer
& Nbsp; * pluggbare IO backends (f.eks eventlet, gevent)
Det er også designet fra grunnen opp spesielt for Mongrel2. Dette betyr at det blir mye funksjonalitet for gratis, og koden er enklere og lettere som et resultat.
For eksempel, er det ingen eksplisitt forvaltning av en threadpool og forespørsel kø som du kan finne i f.eks den Cherrypy server. I stedet, du bare starte opp så mange tråder som du trenger, har dem alle koble til samme behandleren socket, og mongrel2 (via zmq) vil automatisk laste-balansere forespørsler til dem.
Tilsvarende er det ingen eksplisitt støtte for omlasting når koden endres. Bare drepe den gamle behandleren og starte opp en ny. Hvis du bruker faste håndterer UUID da zmq vil sikre at overleveringen skjer grasiøst

Krav .

  • Python

Begrensninger :

  • Når kjører flere tråder, ikke ctrl-C ikke renslig avslutte prosessen. Virker som bakgrunns tråder bli sittende fast i en blokkering recv ().
  • zmq lastbalansering algoritmen er grådig round-robin, som ikke er ideelt. For eksempel kan det planlegge flere raske forespørsler til den samme tråd som en langsom en, noe som gjør dem vente selv om andre tråder blir tilgjengelige. Jeg jobber med en zmq adapter som kan gjøre noe bedre.

Annen programvare fra utvikleren Ryan Kelly

PyPy.js
PyPy.js

4 Jun 15

PyEnchant
PyEnchant

28 Feb 15

filelike
filelike

28 Feb 15

Kommentarer til m2wsgi

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!