m2wsgi

Software screenshot:
m2wsgi
Software detaljer:
Version: 0.5.2
Upload dato: 15 Apr 15
Udvikler: Ryan Kelly
Licens: Gratis
Popularitet: 8

Rating: nan/5 (Total Votes: 0)

m2wsgi er en Python-modul, der giver en WSGI gateway handler for Mongrel2 webserver, der giver nem indsættelse af Python apps på Mongrel2. & Nbsp; Du kan også finde dens understøttende klasser nyttige til at udvikle ikke-WSGI handlere i Python.

Forbrug Command-line

Den enkleste måde at bruge denne pakke er som en kommando-linje launcher:
Python -m m2wsgi dotted.app.name tcp: //127.0.0.1: 9999
Dette vil forbinde til Mongrel2 på den angivne forespørgsel porten og begynde at håndtere anmodninger ved at lede dem gennem den angivne WSGI app. Som standard vil du få en enkelt arbejdstager tråd håndtering af alle anmodninger; øge antallet af tråde som så:
Python -m m2wsgi --num-tråde = 5 dotted.app.name tcp: //127.0.0.1: 9999
Eller hvis tråde er ikke dine ting, bruge eventlet at blande bits rundt som så:
python -m m2wsgi --io = eventlet dotted.app.name tcp: //127.0.0.1: 9999
Jeg er interesseret i at tilføje støtte til andre IO moduler såsom gevent; bidrag velkommen.
Programmatic Anvendelse
Hvis du har mere komplicerede behov, kan du bruge m2wsgi fra din ansøgning. Den vigtigste klasse er "WSGIHandler", som giver en enkel server interface. Det svarer til brugen ovenstående kommando-linje er:
fra m2wsgi.base import WSGIHandler
handleren = WSGIHandler (my_wsgi_app, "TCP: //127.0.0.1: 9999")
handler.serve ()
For finere kontrol over forbindelsen mellem din handleren og Mongrel2, oprette din egen forbindelse objekt:
fra m2wsgi.base import WSGIHandler, Connection
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")
handleren = WSGIHandler (my_wsgi_app, conn)
handler.serve ()
Du må ikke vi allerede har en af ​​disse?
Flere faktisk:
& Nbsp; * https://github.com/berry/Mongrel2-WSGI-Handler
& Nbsp; * https://bitbucket.org/dholth/mongrel2_wsgi
Ingen af ​​dem fuldt ud opfyldt mit behov. Især denne pakke har transparent støtte til:
& Nbsp; * chunked svar kodning
& Nbsp; * "async upload" af store anmodning organer
& Nbsp; * stikbare IO backends (f.eks eventlet, gevent)
Den er også designet fra bunden specifikt til Mongrel2. Dette betyder, at det får en masse funktionalitet til fri, og koden er enklere og lettere som et resultat.
For eksempel er der ingen eksplicit ledelse af et ThreadPool og anmodning kø, som du kan finde i fx den CherryPy server. I stedet kan du bare starte så mange tråde, som du har brug for, har dem alle forbindelse til samme handleren socket, og mongrel2 (via zmq) indlæser automatisk-balance anmodninger til dem.
Ligeledes er der ingen udtrykkelig støtte til at genindlæse når koden ændres. Bare dræbe den gamle handleren og starte en ny. Hvis du bruger faste handleren UUID'er så zmq vil sikre, at overdragelsen sker yndefuldt

Krav :.

  • Python

Begrænsninger :

  • Når du kører flere tråde, er ctrl-C ikke rent afslutte processen. Synes ligesom baggrunden tråde sidde fast i en blokerende recv ().
  • zmq load-balancing algoritme er grådige round-robin, hvilket ikke er ideelt. For eksempel kan det planlægge flere hurtige anmodninger til samme tråd som en langsom, hvilket gør dem vente selvom andre tråde bliver tilgængelige. Jeg arbejder på en zmq adapter, der kan gøre noget bedre.

Andre software developer Ryan Kelly

promise
promise

28 Feb 15

PyPy.js
PyPy.js

4 Jun 15

dexml
dexml

5 Jun 15

extprot
extprot

28 Feb 15

Kommentarer til m2wsgi

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!