m2wsgi

Software screenshot:
m2wsgi
Rincian Software:
Versi: 0.5.2
Tanggal Upload: 15 Apr 15
Pengembang: Ryan Kelly
Lisensi: Gratis
Popularitas: 8

Rating: nan/5 (Total Votes: 0)

m2wsgi adalah modul Python yang menyediakan handler gerbang WSGI untuk server web Mongrel2, sehingga mudah penyebaran aplikasi Python di Mongrel2 & nbsp;. Anda juga mungkin menemukan kelas pendukungnya berguna untuk mengembangkan non-WSGI penangan di Python.

Penggunaan Command-line

Cara paling mudah untuk menggunakan paket ini adalah sebagai peluncur baris perintah:
python -m m2wsgi dotted.app.name tcp: //127.0.0.1: 9999
Hal ini akan terhubung ke Mongrel2 pada port permintaan tertentu dan mulai menangani permintaan dengan melewatkan mereka melalui aplikasi WSGI ditentukan. Secara default Anda akan mendapatkan benang pekerja tunggal menangani semua permintaan; meningkatkan jumlah benang seperti:
python -m m2wsgi Num-benang = 5 dotted.app.name tcp: //127.0.0.1: 9999
Atau jika benang tidak hal, gunakan eventlet untuk mengocok bit sekitar seperti:
python -m m2wsgi --io = eventlet dotted.app.name tcp: //127.0.0.1: 9999
Saya tertarik untuk menambahkan dukungan untuk modul IO lainnya seperti gevent; kontribusi menyambut.
Programatik Penggunaan
Jika Anda memiliki kebutuhan yang lebih rumit, Anda dapat menggunakan m2wsgi dari dalam aplikasi Anda. Kelas utama adalah 'WSGIHandler' yang menyediakan antarmuka server sederhana. Setara dengan penggunaan atas baris perintah adalah:
dari m2wsgi.base impor WSGIHandler
handler = WSGIHandler (my_wsgi_app, "tcp: //127.0.0.1: 9999")
handler.serve ()
Untuk kontrol yang lebih baik atas hubungan antara handler dan Mongrel2, membuat objek Connection Anda sendiri:
dari m2wsgi.base impor 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 ()
Jangan kita sudah memiliki salah satu dari ini?
Beberapa benar-benar:
& Nbsp; * https://github.com/berry/Mongrel2-WSGI-Handler
& Nbsp; * https://bitbucket.org/dholth/mongrel2_wsgi
Tak satu pun dari mereka sepenuhnya memenuhi kebutuhan saya. Secara khusus, paket ini memiliki dukungan transparan untuk:
& Nbsp; * chunked encoding respon
& Nbsp; * "async meng-upload" tubuh permintaan besar
& Nbsp; * pluggable backends IO (misalnya eventlet, gevent)
Ini juga dirancang dari bawah ke atas khusus untuk Mongrel2. Ini berarti mendapat banyak fungsi secara gratis, dan kode lebih sederhana dan lebih ringan sebagai hasilnya.
Sebagai contoh, tidak ada manajemen eksplisit dari threadpool dan permintaan antrian seperti yang Anda temukan dalam misalnya server CherryPy. Sebaliknya, Anda hanya memulai dengan banyak benang yang Anda butuhkan, mereka semua terhubung ke soket handler yang sama, dan mongrel2 (via zmq) akan secara otomatis beban-menyeimbangkan permintaan kepada mereka.
Demikian pula, tidak ada dukungan yang jelas untuk reload ketika kode perubahan. Hanya membunuh handler lama dan memulai yang baru. Jika Anda menggunakan UUIDs handler tetap maka zmq akan memastikan bahwa serah terima terjadi anggun

Persyaratan :.

  • Python

Keterbatasan :

  • Saat menjalankan beberapa thread, ctrl-C tidak bersih keluar proses. Sepertinya benang latar belakang terjebak dalam recv blocking ().
  • zmq load-balancing algoritma serakah round-robin, yang tidak ideal. Sebagai contoh, dapat menjadwalkan beberapa permintaan cepat untuk benang yang sama sebagai salah satu lambat, membuat mereka menunggu bahkan jika benang lainnya menjadi tersedia. Aku sedang bekerja pada sebuah adapter zmq yang dapat melakukan sesuatu yang lebih baik.

Perangkat lunak lain dari pengembang Ryan Kelly

django-supervisor
django-supervisor

20 Feb 15

extprot
extprot

28 Feb 15

PyEnchant
PyEnchant

28 Feb 15

Komentar untuk m2wsgi

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!