m2wsgi

Screenshot Λογισμικό:
m2wsgi
Στοιχεία Λογισμικού:
Εκδοχή: 0.5.2
Ανεβάστε ημερομηνία: 15 Apr 15
Προγραμματιστής: Ryan Kelly
Άδεια: Δωρεάν
Δημοτικότητα: 8

Rating: nan/5 (Total Votes: 0)

m2wsgi είναι μια ενότητα Python που παρέχει WSGI χειριστή πύλη για τον web server Mongrel2, επιτρέποντας την εύκολη εγκατάσταση της Python εφαρμογές για Mongrel2 & nbsp?. Μπορεί επίσης να βρείτε υποστήριξη των τάξεων χρήσιμη για την ανάπτυξη χειριστές μη WSGI στην Python.

Χρήση γραμμής εντολών

Ο απλούστερος τρόπος για να χρησιμοποιήσετε αυτό το πακέτο είναι σαν ένα εκτοξευτή γραμμής εντολών:
Python -m m2wsgi dotted.app.name TCP: //127.0.0.1: 9999
Αυτό θα συνδεθεί με Mongrel2 την καθορισμένη θύρα αίτημα και να αρχίσει την επεξεργασία των αιτημάτων από την διέλευσή τους μέσα από την καθορισμένη WSGI app. Εξ 'ορισμού θα πάρετε ένα νήμα εργαζόμενος χειρισμό όλων των αιτήσεων? να αυξήσει τον αριθμό των νημάτων, όπως έτσι:
Python -m m2wsgi --num νήματα = 5 dotted.app.name TCP: //127.0.0.1: 9999
Ή αν τα θέματα δεν είναι το πράγμα σας, χρησιμοποιήστε eventlet να ανακατέψετε τα κομμάτια γύρω σαν αυτό:
πύθωνα -m m2wsgi --io = eventlet dotted.app.name TCP: //127.0.0.1: 9999
Είμαι ενδιαφέρονται για την προσθήκη υποστήριξης για άλλες IO ενότητες, όπως gevent? συμβολές χαιρετίζουν.
Προγραμματική Χρήση
Αν έχετε πιο πολύπλοκες ανάγκες, μπορείτε να χρησιμοποιήσετε m2wsgi μέσα από την εφαρμογή σας. Η κύρια κατηγορία είναι «WSGIHandler», η οποία παρέχει ένα απλό interface του server. Το ισοδύναμο της χρήσης πάνω γραμμής εντολών είναι:
από m2wsgi.base WSGIHandler εισαγωγής
χειριστή = WSGIHandler (my_wsgi_app, "TCP: //127.0.0.1: 9999")
handler.serve ()
Για καλύτερο έλεγχο πάνω από τη σύνδεση μεταξύ χειριστή και Mongrel2 σας, να δημιουργήσετε το δικό σας αντικείμενο Connection:
από m2wsgi.base WSGIHandler εισαγωγής, Σύνδεση
Το conn = Σύνδεση (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")
χειριστή = WSGIHandler (my_wsgi_app, conn)
handler.serve ()
Μην έχουμε ήδη ένα από αυτά;
Αρκετές πραγματικότητα:
& Nbsp? * Https://github.com/berry/Mongrel2-WSGI-Handler
& Nbsp? * Https://bitbucket.org/dholth/mongrel2_wsgi
Κανένας από αυτούς δεν πληρούνται πλήρως τις ανάγκες μου. Συγκεκριμένα, το πακέτο αυτό έχει διαφανή υποστήριξη για:
& Nbsp? * Κατατμημένη κωδικοποίηση απάντηση
& Nbsp? * "Ασύγχρονη ανέβασμα" των μεγάλων οργανισμών αίτηση
& Nbsp? * Κουμπωτή backends IO (π.χ. eventlet, gevent)
Είναι επίσης σχεδιασμένο από το μηδέν ειδικά για Mongrel2. Αυτό σημαίνει ότι παίρνει πολλές λειτουργίες για δωρεάν, και ο κώδικας είναι απλούστερη και ελαφρύτερα ως αποτέλεσμα.
Για παράδειγμα, δεν υπάρχει ρητή διαχείριση ενός threadpool και ουρά αιτήσεων, όπως μπορείτε να βρείτε στο π.χ. ο διακομιστής CherryPy. Αντ 'αυτού, μπορείτε απλά εκκίνηση όσες θέματα που χρειάζεστε, έχετε όλα αυτά συνδέονται με την ίδια υποδοχή χειριστή, και mongrel2 (μέσω zmq) θα φορτώσει αυτόματα εξισορροπήσει τις αιτήσεις τους.
Ομοίως, δεν υπάρχει σαφής υποστήριξη για την επαναφόρτωση όταν ο κώδικας αλλάζει. Απλά να σκοτώσει το παλιό χειριστή και ξεκινήστε ένα νέο. Αν χρησιμοποιείτε σταθερή UUIDs χειριστή τότε zmq θα εξασφαλίσει ότι η παράδοση συμβαίνει χάρη

Απαιτήσεις :.

  • Python

Περιορισμοί :

  • Κατά την εκτέλεση πολλαπλά threads, Ctrl-C δεν βγείτε καθαρά τη διαδικασία. Φαίνεται σαν τα νήματα φόντο κολλήσει σε ένα recv αποκλεισμού ().
  • Η εξισορρόπηση φορτίου αλγόριθμο zmq είναι άπληστοι round-robin, η οποία δεν είναι ιδανική. Για παράδειγμα, μπορεί να προγραμματίσει αρκετές γρήγορες αιτήσεις με το ίδιο νήμα ως ένα αργό, καθιστώντας τους περιμένουν ακόμα και αν άλλα θέματα που είναι διαθέσιμα. Δουλεύω σε ένα προσαρμογέα zmq που μπορεί να κάνει κάτι καλύτερο.

Άλλο λογισμικό του προγραμματιστή Ryan Kelly

PyEnchant
PyEnchant

28 Feb 15

filelike
filelike

28 Feb 15

extprot
extprot

28 Feb 15

withrestart
withrestart

28 Feb 15

Σχόλια για m2wsgi

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!