m2wsgi

Software kuvakaappaus:
m2wsgi
Ohjelmiston tiedot:
Versio: 0.5.2
Lähetyksen päivämäärä: 15 Apr 15
Kehittäjä: Ryan Kelly
Lupa: Vapaa
Suosio: 8

Rating: nan/5 (Total Votes: 0)

m2wsgi on Python-moduuli, joka tarjoaa WSGI gateway käsittelijä Mongrel2 web-palvelin, joka mahdollistaa helpon käyttöönoton Python apps Mongrel2. & Nbsp; Saatat löytää sen tukeminen luokat edesauttavan kuin WSGI käsittelijät Python.

Command-line-käyttöä

Yksinkertaisin tapa käyttää tätä pakettia on kuin komentorivin kantoraketti:
python -m m2wsgi dotted.app.name tcp: //127.0.0.1: 9999
Tämä yhteyden Mongrel2 määrätyillä pyynnöstä satamasta ja aloittamaan pyyntöjen käsittelyn viemällä ne läpi määritetyn WSGI app. Oletuksena saat yhden työntekijän lanka hoitaa kaikki pyynnöt; lisätä säikeiden määrä näin:
python -m m2wsgi --num-kierteet = 5 dotted.app.name tcp: //127.0.0.1: 9999
Tai jos kierteet eivät ole sinun juttusi, käytä eventlet sekoittaa bitit ympärille kuten niin:
python -m m2wsgi --io = eventlet dotted.app.name tcp: //127.0.0.1: 9999
Olen kiinnostunut lisäämällä tukea muille IO moduulien kuten gevent; maksut tervetulleita.
Ohjelmalliset Käyttö
Jos sinulla on monimutkaisempi tarpeet, voit käyttää m2wsgi sisällä hakemuksen. Tärkein luokka on "WSGIHandler", joka tarjoaa yksinkertaisen palvelimen käyttöliittymä. Vastaa edellä komentorivin käyttö on:
alkaen m2wsgi.base tuonti WSGIHandler
handler = WSGIHandler (my_wsgi_app "tcp: //127.0.0.1: 9999")
handler.serve ()
Hienompaa valvoa välinen yhteys ohjaajan ja Mongrel2, luoda oman Connection esine:
alkaen m2wsgi.base tuonti 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")
handler = WSGIHandler (my_wsgi_app, Conn)
handler.serve ()
Älä meillä on jo yksi näistä?
Useita todella:
& Nbsp; * https://github.com/berry/Mongrel2-WSGI-Handler
& Nbsp; * https://bitbucket.org/dholth/mongrel2_wsgi
Kukaan heistä täysin täyttänyt tarpeitani. Erityisesti tämä paketti on läpinäkyvä tuki:
& Nbsp; * chunked vastauksen koodaus
& Nbsp; * "async upload" suurten pyynnöstä elinten
& Nbsp; * kytkettävien IO backends (esim eventlet, gevent)
Se on myös suunniteltu alusta asti nimenomaan Mongrel2. Tämä tarkoittaa sitä, se saa paljon toiminnot ilmaiseksi, ja koodi on yksinkertaisempi ja kevyempi kuin tulos.
Esimerkiksi ei ole nimenomaista hallinta threadpool ja jonoon niin saatat löytää esimerkiksi Cherrypy palvelin. Sen sijaan voit vain aloittaa niin monta viestiketjut kuin tarvitset, on ne kaikki yhteyden samaan ohjaajan pistorasiaan, ja mongrel2 (via zmq) latautuu automaattisesti tasapainottaa pyynnöt heille.
Samoin ei ole nimenomaista tukea uudelleenlastaus kun koodi vaihtuu. Vain tappaa vanhan ohjaajan ja käynnistää uuden. Jos käytät kiinteää käsittelijä UUID sitten zmq varmistaa, että luovutus tapahtuu sulavasti.

Vaatimukset :

  • Python

Rajoitukset :

  • Kun käynnissä useita säikeitä, ctrl-C ei siististi poistu prosessi. Tuntuu tausta viestiketjut juuttua esto recv ().
  • zmq kuormanjakomalli algoritmi on ahne round robin, joka ei ole ihanteellinen. Esimerkiksi se voi ajastaa useita nopeasti pyyntöjä sama kierre kuin hidas, joten ne odota vaikka muut kierteet tulee saataville. Olen työskennellyt zmq sovitin, joka voi tehdä jotain paremmin.

Muu ohjelmistojen kehittäjä Ryan Kelly

withrestart
withrestart

28 Feb 15

filelike
filelike

28 Feb 15

django-supervisor
django-supervisor

20 Feb 15

Kommentit m2wsgi

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!