m2wsgi

Screenshot Software:
m2wsgi
Mga detalye ng Software:
Bersyon: 0.5.2
I-upload ang petsa: 15 Apr 15
Nag-develop: Ryan Kelly
Lisensya: Libre
Katanyagan: 8

Rating: nan/5 (Total Votes: 0)

m2wsgi ay isang Python module na nagbibigay ng WSGI gateway na handler para sa Mongrel2 web server, na nagbibigay-daan sa madaling pag-deploy ng Python app sa Mongrel2. & Nbsp; Maaari mo ring mahanap ang pagsuporta sa mga klase nito kapaki-pakinabang para sa pagbuo ng mga di-WSGI tagapangasiwa sa Python.

Paggamit ng command-line

Ang pinakasimpleng paraan upang gamitin ang paketeng ito ay bilang isang command-line launcher:
python -m m2wsgi dotted.app.name TCP: //127.0.0.1: 9999
Ito ay kumonekta sa Mongrel2 sa tinukoy na port kahilingan at simulan ang paghawak ng mga kahilingan sa pamamagitan ng pagpapasa ng mga ito sa pamamagitan sa tinukoy na WSGI app. Sa pamamagitan ng default makakakuha ka ng isang solong manggagawa thread paghawak ng lahat ng mga kahilingan; taasan ang bilang ng mga thread tulad nito:
python -m m2wsgi --num-thread = 5 dotted.app.name TCP: //127.0.0.1: 9999
O kung thread ay hindi ang iyong bagay, gamitin eventlet upang kaladkarin ang mga paa ang mga piraso sa paligid tulad nito:
python -m m2wsgi --io = eventlet dotted.app.name TCP: //127.0.0.1: 9999
Interesado ako sa pagdagdag ng suporta para sa iba pang mga IO module tulad ng gevent; Malugod kontribusyon.
program Paggamit
Kung mayroon kang mas komplikado mga pangangailangan, maaari mong gamitin m2wsgi mula sa loob ng iyong application. Ang pangunahing klase ay 'WSGIHandler' na kung saan ay nagbibigay ng isang simpleng interface server. Ang katumbas ng paggamit sa itaas command-line ay:
mula sa pag-import m2wsgi.base WSGIHandler
handler = WSGIHandler (my_wsgi_app, "TCP: //127.0.0.1: 9999")
handler.serve ()
Para sa mas pinong kontrol sa mga koneksyon sa pagitan ng iyong handler at Mongrel2, lumikha ng iyong sariling ang koneksyon object:
mula sa pag-import m2wsgi.base WSGIHandler, Koneksyon
conn = Koneksyon (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 ()
Huwag namin na magkaroon ng isa sa mga ito?
Ilang talaga:
& Nbsp; * https://github.com/berry/Mongrel2-WSGI-Handler
& Nbsp; * https://bitbucket.org/dholth/mongrel2_wsgi
Wala sa mga ito ganap na natugunan ang aking mga pangangailangan. Sa partikular, ang paketeng ito ay may transparent na suporta para sa:
& Nbsp; * chunked tugon sa pag-encode
& Nbsp; * "async-upload" ng mga malalaking katawan kahilingan
& Nbsp; * pluggable IO backends (hal eventlet, gevent)
Ito ay dinisenyo din mula sa lupa partikular up para sa Mongrel2. Ang ibig sabihin nito ay nakakakuha ng maraming mga pag-andar para sa libre, at ang code ay mas simple at mas magaan bilang isang resulta.
Halimbawa, walang tahasang pamamahala ng isang threadpool at kahilingan queue bilang maaari mong makita sa hal ang CherryPy server. Sa halip, magsisimula ka na lamang ng maraming mga thread hangga't kailangan mo, mayroon ang lahat ng ito makakonekta sa parehong socket handler, at mongrel2 (sa pamamagitan ng zmq) ay awtomatikong load-balansehin ang mga kahilingan sa kanila.
Katulad nito, walang tahasang suporta para muling i-load kapag ang mga pagbabago sa code. Patayin lang ang lumang handler at simulan up ng isang bagong isa. Kung gumagamit ka ng mga nakapirming handler UUIDs pagkatapos zmq ay tinitiyak na ang sauli mangyayari malamyos

Mga Kinakailangan :.

  • Python

Mga Limitasyon :

  • Kapag nagpapatakbo ng maramihang mga thread, ctrl-C hindi lumabas nang malinis ang proseso. Mukhang tulad ng mga thread background makakuha ng natigil sa pag-block ng recv ().
  • Ang pag-load pagbabalanse-algorithm zmq ay sakim round-Robin, na hindi perpekto. Halimbawa, maaari itong mag-iskedyul ng ilang mabilis na mga kahilingan sa parehong thread bilang isang mabagal, sa paggawa ng mga ito maghintay kahit na maging available ang iba pang mga thread. Ako ay nagtatrabaho sa isang zmq adapter na maaaring gawin ang isang bagay mas mahusay.

Iba pang mga software developer ng Ryan Kelly

dexml
dexml

5 Jun 15

withrestart
withrestart

28 Feb 15

extprot
extprot

28 Feb 15

Playitagainsam
Playitagainsam

20 Feb 15

Mga komento sa m2wsgi

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!