m2wsgi

Software screenshot:
m2wsgi
Podrobnosti Software:
Verze: 0.5.2
Datum uploadu: 15 Apr 15
Vývojka: Ryan Kelly
Licence: Volný
Popularita: 8

Rating: nan/5 (Total Votes: 0)

m2wsgi je Python modul, který poskytuje WSGI brány zpracování pro web server Mongrel2, což umožňuje snadné nasazení Python aplikací na Mongrel2. & Nbsp; Můžete také najde své podpůrné třídy užitečné pro rozvoj non-WSGI rutiny v Pythonu.

Využití příkazového řádku

Nejjednodušší způsob, jak používat tento balíček je příkazového řádku launcher:
python -m m2wsgi dotted.app.name tcp: //127.0.0.1: 9999
To se připojí k Mongrel2 na zadaný dotaz portu a začít vyřizování žádostí průchodem zadané WSGI app. Ve výchozím nastavení se dostanete jeden pracovník manipulační všechny požadavky na závit; zvýšit počet závitů, jako jsou takto:
python -m m2wsgi --num-threads = 5 dotted.app.name tcp: //127.0.0.1: 9999
Nebo-li závity nejsou vaše věc, použijte eventlet zamíchat bitů kolem jako tak:
python -m m2wsgi --io = eventlet dotted.app.name tcp: //127.0.0.1: 9999
Mám zájem o přidání podpory pro další IO moduly, jako je gevent; Příspěvky vítají.
Programové Použití
Pokud máte složitější potřeby, můžete použít m2wsgi z vaší aplikace. Hlavní třída je "WSGIHandler", který poskytuje jednoduché rozhraní serveru. Ekvivalent využití výše příkazového řádku je:
od m2wsgi.base dovozu WSGIHandler
handler = WSGIHandler (my_wsgi_app, "tcp: //127.0.0.1: 9999")
handler.serve ()
Pro jemnější kontrolu nad připojení mezi psovodem a Mongrel2, vytvořte si vlastní objekt připojení:
od m2wsgi.base import WSGIHandler, připojení
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 ()
Ještě již máme jednu z nich?
Několik vlastně:
& Nbsp; * https://github.com/berry/Mongrel2-WSGI-Handler
& Nbsp; * https://bitbucket.org/dholth/mongrel2_wsgi
Žádný z nich v plném rozsahu splněny mé potřeby. Konkrétně tento balíček má transparentní podporu:
& Nbsp; * blokového kódování odpověď
& Nbsp; * "asynchronní nahrávání" velkých požadavku orgánů
& Nbsp; * výměnné IO backends (např eventlet, gevent)
Je to také od základu navržen speciálně pro Mongrel2. To znamená, že dostane hodně funkcí zdarma, a kód je jednodušší a lehčí jako výsledek.
Například, není tam žádný explicitní řízení o threadpool a frontě požadavků, jak jste mohli najít v např Server CherryPy. Místo toho, stačí spustit tolik vláken, kolik potřebujete, máte je všechny připojit ke stejnému popisovač zásuvky a mongrel2 (přes zmq) automaticky načte vyvážit požadavky na ně.
Stejně tak neexistuje žádný explicitní podporu pro překládání při změně kódu. Jen zabít starou psovoda a založit novou. Pokud používáte pevnou psovoda UUID pak zmq zajistí předání dojde ladně

Požadavky na :.

  • Python

Omezení :

  • Při spuštění více vláken, ctrl-C není čistě ukončit proces. Vypadá to, že nitě na pozadí uvíznou v blokování recv ().
  • load-balancing algoritmus zmq je chamtivý round-robin, což není ideální. Například, může naplánovat několik rychlé požadavky na stejném závitu jako pomalá, což je čekat, i když ostatní nitě jsou k dispozici. Já jsem pracoval na zmq adaptéru, který může dělat něco lepšího.

Ostatní software developer Ryan Kelly

PyEnchant
PyEnchant

28 Feb 15

django-supervisor
django-supervisor

20 Feb 15

PyPy.js
PyPy.js

4 Jun 15

Komentáře k m2wsgi

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!