m2wsgi

Software captura de pantalla:
m2wsgi
Detalles de software:
Versión: 0.5.2
Fecha de carga: 15 Apr 15
Promotor: Ryan Kelly
Licencia: Libre
Popularidad: 8

Rating: nan/5 (Total Votes: 0)

m2wsgi es un módulo de Python que proporciona un controlador de puerta de enlace WSGI para el servidor web Mongrel2, que permite un fácil despliegue de aplicaciones Python en Mongrel2 & nbsp;. También puede encontrar sus clases de soporte útil para el desarrollo de los manipuladores no WSGI en Python.

Uso de la línea de comandos

La forma más sencilla de utilizar este paquete es como un lanzador de línea de comandos:
python -m m2wsgi dotted.app.name tcp: //127.0.0.1: 9999
Este se conectará a Mongrel2 en el puerto de solicitud especificado y empezar a manejar solicitudes haciéndolas pasar a través de la aplicación WSGI especificado. Por defecto obtendrá un solo trabajador hilo manejo de todas las solicitudes; aumentar el número de hilos, así:
python -m m2wsgi --num-threads = 5 dotted.app.name tcp: //127.0.0.1: 9999
O si las discusiones no son lo tuyo, utilice eventlet a barajar los bits alrededor de este modo:
python -m m2wsgi --io = eventlet dotted.app.name tcp: //127.0.0.1: 9999
Estoy interesado en añadir soporte para otros módulos IO como GEvent; contribuciones son bienvenidas.
Uso Programático
Si usted tiene necesidades más complicadas, puede utilizar m2wsgi desde su aplicación. La clase principal es 'WSGIHandler' que proporciona una interfaz de servidor simple. El equivalente del uso por encima de la línea de comandos es:
desde WSGIHandler importación m2wsgi.base
handler = WSGIHandler (my_wsgi_app, "tcp: //127.0.0.1: 9999")
handler.serve ()
Para un control más preciso sobre la conexión entre el controlador y Mongrel2, crear su propio objeto Connection:
desde WSGIHandler importación m2wsgi.base, Conexión
conn = Conexión (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 ()
¿No tenemos ya tenemos uno de estos?
Varios realidad:
& Nbsp; * https://github.com/berry/Mongrel2-WSGI-Handler
& Nbsp; * https://bitbucket.org/dholth/mongrel2_wsgi
Ninguno de ellos se reunió plenamente mis necesidades. En particular, este paquete tiene soporte transparente para:
& Nbsp; * codificación respuesta fragmentada
& Nbsp; * "upload asíncrono" de grandes cuerpos de solicitud
& Nbsp; * backends IO conectables (por ejemplo eventlet, GEvent)
También ha sido diseñado desde cero específicamente para Mongrel2. Esto significa que se pone un montón de funcionalidades de forma gratuita, y el código es más sencillo y ligero como resultado.
Por ejemplo, no hay un manejo explícito de una cola de subprocesos y la solicitud como se puede encontrar en, por ejemplo el servidor CherryPy. En su lugar, usted acaba de empezar a tantos hilos como usted necesita, tienen todos ellos se conectan a la misma toma de manejador, y mongrel2 (vía ZMQ) automáticamente equilibrar la carga de las peticiones a los mismos.
Del mismo modo, no hay apoyo explícito para la recarga cuando el código cambia. Simplemente elimine el controlador antiguo e inicie una nueva. Si utiliza UUID manejador fijos luego ZMQ se asegurará de que el traspaso sucede con gracia

Requisitos :.

  • Python

Limitaciones :

  • Al ejecutar múltiples hilos, ctrl-C no sale correctamente el proceso. Parece que los subprocesos de fondo se atascan en un bloqueo a recv ().
  • El algoritmo de balanceo de carga ZMQ es codicioso-round robin, que no es lo ideal. Por ejemplo, se puede programar varias solicitudes rápidas a la misma rosca que uno lento, por lo que esperan incluso si otros hilos estén disponibles. Estoy trabajando en un adaptador ZMQ que puede hacer algo mejor.

Otro software de desarrollador Ryan Kelly

dexml
dexml

5 Jun 15

django-supervisor
django-supervisor

20 Feb 15

filelike
filelike

28 Feb 15

Comentarios a la m2wsgi

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!