m2wsgi

Yazılım ekran görüntüsü:
m2wsgi
Yazılım detaylar:
Versiyon: 0.5.2
Qayıt: 15 Apr 15
Geliştirici: Ryan Kelly
Lisans: Ücretsiz
Popülerlik: 8

Rating: nan/5 (Total Votes: 0)

.

m2wsgi bir Python Mongrel2 Python apps kolay dağıtım sağlayan, Mongrel2 web sunucusu için bir WSGI geçidi işleyicisi sağlayan modül & nbsp olduğunu; Ayrıca Python olmayan WSGI işleyicileri geliştirmek için yararlı destekleyici sınıfları bulabilirsiniz.

Komut satırı kullanımı

Bu paketi kullanmak için en basit yolu, bir komut satırı başlatıcısı gibidir:
Python -m m2wsgi dotted.app.name TCP: //127.0.0.1: 9999
Bu belirtilen istek noktası üzerinde Mongrel2 bağlanmak ve belirtilen WSGI uygulaması geçirerek isteklerini işleme başlayacak. Varsayılan olarak tüm isteklerini işleme tek işçi iş parçacığı alacak; şöyle parçacığı sayısını artırmak:
Python -m m2wsgi --num-ipler = 5 dotted.app.name TCP: //127.0.0.1: 9999
Konuları şey değilsen, yani gibi etrafında bit karıştırmak için eventlet kullanın:
Python -m m2wsgi --io = eventlet dotted.app.name TCP: //127.0.0.1: 9999
Böyle gevent gibi diğer IO modülleri için destek ekleyerek ilgileniyorum; katkıları memnuniyetle karşılıyoruz.
Program Kullanımı
Eğer daha karmaşık ihtiyaçları varsa, sizin uygulama içinden m2wsgi kullanabilirsiniz. ana sınıfı basit bir sunucu arabirimi sağlar 'WSGIHandler' olduğunu. Yukarıdaki komut satırı kullanımı eşdeğerdir:
m2wsgi.base ithalat WSGIHandler gelen
işleyici = WSGIHandler (my_wsgi_app, "tcp: //127.0.0.1: 9999")
handler.serve ()
Senin işleyicisi ve Mongrel2 arasındaki bağlantı üzerinden ince kontrolü için, kendi Connection nesnesi oluşturun:
m2wsgi.base ithalat WSGIHandler, Connection
bağl = Bağlantı (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")
işleyici = WSGIHandler (my_wsgi_app, bağl)
handler.serve ()
Biz zaten bunlardan birini yok ?
Aslında birkaç:
& Nbsp; * https://github.com/berry/Mongrel2-WSGI-Handler
& Nbsp; * https://bitbucket.org/dholth/mongrel2_wsgi
Bunların hiçbiri tamamen benim ihtiyaçlarını bir araya geldi. Özellikle, bu paket için şeffaf desteği vardır:
& Nbsp; * yığın halinde tepki kodlama
& Nbsp; büyük istek organlarının * "uyumsuz yükleme"
& Nbsp; * takılabilir IO arkauçlar (örn eventlet, gevent)
Ayrıca Mongrel2 için özel yere kadar tasarlandı. Bu ücretsiz işlevsellik bir sürü alır gelir, ve kod sonucunda basit ve hafiftir.
Örneğin, örneğin bulabileceğiniz gibi bir threadpool ve istek sırasının açık bir yönetim yoktur CherryPy sunucusu. Bunun yerine, sadece otomatik onlara isteklerini yük-dengeleyecek mongrel2 (zmq yoluyla) hepsini aynı işleyici soketine bağlantı var, ve, ihtiyacı gibi birçok konuları başlatmak.
Benzer şekilde, kod değiştiğinde yeniden için açık destek var. Sadece eski işleyicisi öldürmek ve yeni bir başlangıç. Eğer sabit işleyicisi UUIDs kullanıyorsanız o zaman zmq teslim incelikle olur sağlayacaktır

Gereksinimler :.

  • Python

Sınırlamalar :

  • birden çok iş parçacığı çalıştırırken, ctrl-C temiz süreci çıkmak değildir. Arka plan iş parçacığı (), bir engelleme recv takılıyorum gibi görünüyor.
  • zmq yük dengeleme algoritması ideal değildir açgözlü round-robin vardır. Örneğin, diğer konuları kullanılabilir hale bile onları beklemek yapma, yavaş aynı konuya birkaç hızlı istekleri zamanlayabilirsiniz. Ben daha iyi bir şey yapabilirim bir zmq adaptörü üzerinde çalışıyorum.

Geliştirici Diğer yazılım Ryan Kelly

dexml
dexml

5 Jun 15

promise
promise

28 Feb 15

extprot
extprot

28 Feb 15

Yorumlar m2wsgi

Yorum Bulunamadı
Yorum eklemek
Görüntülerde açın!