m2wsgi

Logiciel capture d'écran:
m2wsgi
Détails logiciels:
Version: 0.5.2
Date de transfert: 15 Apr 15
Développeur: Ryan Kelly
Licence: Gratuit
Popularité: 8

Rating: nan/5 (Total Votes: 0)

m2wsgi est un module Python qui fournit un gestionnaire de passerelle WSGI pour le serveur Web Mongrel2, permettant un déploiement facile d'applications Python sur Mongrel2 & nbsp;. Vous pouvez également trouver ses classes de support utile pour développer des gestionnaires non-WSGI en Python.

Utilisation de ligne de commande

La façon la plus simple d'utiliser ce paquet est aussi un lanceur de ligne de commande:
python -m m2wsgi dotted.app.name tcp: //127.0.0.1: 9999
Cela connecter à Mongrel2 sur le port de requête spécifiée et commencer à traiter les demandes en les passant par l'application WSGI spécifié. Par défaut, vous obtiendrez un seul thread de travail traiter toutes les demandes; augmenter le nombre de threads comme ceci:
python -m m2wsgi --num-threads = 5 dotted.app.name tcp: //127.0.0.1: 9999
Ou si les discussions ne sont pas votre truc, utiliser eventlet pour mélanger les morceaux autour comme ceci:
python -m m2wsgi --io = eventlet dotted.app.name tcp: //127.0.0.1: 9999
Je suis intéressé par l'ajout du support pour d'autres modules tels que IO gevent; contributions sont les bienvenus.
Utilisation programmatique
Si vous avez des besoins plus complexes, vous pouvez utiliser m2wsgi partir de votre application. La classe principale est 'WSGIHandler »qui fournit une interface simple serveur. L'équivalent de l'utilisation en ligne de commande ci-dessus est:
de WSGIHandler d'importation m2wsgi.base
gestionnaire = WSGIHandler (my_wsgi_app, "tcp: //127.0.0.1: 9999")
handler.serve ()
Pour un contrôle plus fin sur la connexion entre votre gestionnaire et Mongrel2, créer votre propre objet de connexion:
de WSGIHandler d'importation m2wsgi.base, Connexion
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")
gestionnaire = WSGIHandler (my_wsgi_app, conn)
handler.serve ()
Ne avons-nous pas déjà l'un de ces?
Plusieurs effectivement:
& Nbsp; * https://github.com/berry/Mongrel2-WSGI-Handler
& Nbsp; * https://bitbucket.org/dholth/mongrel2_wsgi
Aucun d'entre eux totalement répondu à mes besoins. En particulier, cet ensemble a un support transparent pour:
& Nbsp; * chunked encodage de réponse
& Nbsp; * "téléchargement asynchrone" de grands organismes de demande
& Nbsp; * enfichables backends IO (par exemple eventlet, gevent)
Il est également conçu à partir du sol en place spécifiquement pour Mongrel2. Cela signifie qu'il reçoit beaucoup de fonctionnalités gratuitement, et le code est plus simple et plus léger à la suite.
Par exemple, il n'y a pas de gestion explicite d'une file d'attente de threadpool et demande que vous pourriez trouver dans par exemple le serveur CherryPy. Au lieu de cela, vous venez de commencer autant de fils que vous avez besoin, demandez-leur se connectent tous à la même prise de gestionnaire, et mongrel2 (via ZMQ) chargera automatiquement équilibrer les demandes pour eux.
De même, il n'y a pas un soutien explicite pour recharger lorsque le code change. Juste tuer l'ancien gestionnaire et démarrer une nouvelle. Si vous utilisez UUID de gestionnaire fixe puis ZMQ veillera à ce que le transfert se produit gracieusement

Exigences :.

  • Python

Limites :

  • Lors de l'exécution de plusieurs threads, ctrl-C ne proprement quitter pas le processus. On dirait que les fils de fond coincés dans un recv de blocage ().
  • L'algorithme d'équilibrage de charge est ZMQ round-robin gourmande, qui ne est pas idéal. Par exemple, il peut programmer plusieurs demandes rapides à la même thread que lent, faire attendre même si d'autres discussions deviennent disponibles. Je travaille sur un adaptateur de ZMQ qui peut faire quelque chose de mieux.

D'autres logiciels de développeur Ryan Kelly

PyPy.js
PyPy.js

4 Jun 15

Playitagainsam
Playitagainsam

20 Feb 15

promise
promise

28 Feb 15

extprot
extprot

28 Feb 15

Commentaires à m2wsgi

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!