m2wsgi

Szoftver screenshot:
m2wsgi
Szoftver adatai:
Változat: 0.5.2
Feltöltés dátuma: 15 Apr 15
Fejlesztő: Ryan Kelly
Engedély: Ingyenes
Népszerűség: 8

Rating: nan/5 (Total Votes: 0)

m2wsgi egy Python modult, amely a WSGI átjáró kezelőjének Mongrel2 web szerver, amely könnyű telepítését Python alkalmazásokat Mongrel2. & Nbsp; Esetleg ezek is megtalálja a támogató osztályok hasznos fejlődő non-WSGI rakodók Pythonban.

Command-line használatra

A legegyszerűbb módja, hogy használja ezt a csomagot, mint egy parancssori launcher:
python -m m2wsgi dotted.app.name tcp: //127.0.0.1: 9999
Ez fog kapcsolódni Mongrel2 a megadott kérésére port, és indítsa kérésekre halad őket a megadott WSGI app. Alapértelmezésben kapsz egy szálat kezelő valamennyi kérelmét; növeli a szálak száma, például így:
python -m m2wsgi --num-menet = 5 dotted.app.name tcp: //127.0.0.1: 9999
Vagy ha menet nem a dolog, akkor eventlet a shuffle a bitek körül, például így:
python -m m2wsgi --io = eventlet dotted.app.name tcp: //127.0.0.1: 9999
Érdekelne hozzá támogatás más IO modulok, mint a gevent; hozzájárulások szívesen.
Automatizált Használat
Ha bonyolultabb igényeit, akkor m2wsgi belül az alkalmazás. A fő osztály "WSGIHandler", amely egy egyszerű szerver interfész. Egyenértékű a fent parancssori használat:
a m2wsgi.base import WSGIHandler
handler = WSGIHandler (my_wsgi_app, "tcp: //127.0.0.1: 9999")
handler.serve ()
Finomabb felett a kapcsolatot a felvezető és Mongrel2 létre saját Connection objektum:
a 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")
handler = WSGIHandler (my_wsgi_app, Conn)
handler.serve ()
Ne már van egy ilyen?
Több valóban:
& Nbsp; * https://github.com/berry/Mongrel2-WSGI-Handler
& Nbsp; * https://bitbucket.org/dholth/mongrel2_wsgi
Egyikük sem teljes mértékben megfelelt az igényeimnek. Különösen ez a csomag transzparens támogatást:
& Nbsp; * chunked választ kódolás
& Nbsp; * "aszinkron feltöltés" nagy kérésére szervek
& Nbsp; * dugaszolható IO backends (pl eventlet, gevent)
Emellett úgy van kialakítva, az alapoktól kezdve kifejezetten Mongrel2. Ez azt jelenti, hogy kap egy csomó funkcióval ingyen, és a kód egyszerűbb és világosabb a.
Például nincs explicit kezelése a threadpool és kérésre sorba, mint lehet találni pl A Cherrypy szerveren. Ehelyett egyszerűen csak elkezd annyi szál, amennyire szüksége van, mindet csatlakozhat ugyanahhoz a felvezető aljzat, és mongrel2 (via zmq) automatikusan betölti a mérlegen a kéréseket őket.
Hasonlóképpen, nincs kifejezett támogatására újratöltése, ha a kód megváltozik. Csak öld meg a régi felvezető és elkezd egy újat. Ha használja fix handler UUID majd zmq biztosítani fogja, hogy az átadás megtörténik kecsesen.

követelmények :

  • Python

korlátai :

  • Ha fut több szálon, ctrl-C nem tisztán kilép a folyamatot. Úgy tűnik, a háttérben futó szálakat elakad a blokkoló recv ().
  • A zmq terhelésmegosztásra algoritmus mohó round-robin, ami nem ideális. Például, ütemezheti több gyorsan kéréseket a szál azonos, mint olyan lassan, így várni még ha más szálak válnak elérhetővé. Dolgozom egy zmq adapter, hogy tehet valamit jobban.

Más szoftver fejlesztő Ryan Kelly

promise
promise

28 Feb 15

PyEnchant
PyEnchant

28 Feb 15

filelike
filelike

28 Feb 15

Hozzászólások a m2wsgi

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!