m2wsgi

Скріншот програми:
m2wsgi
Дані програми:
Версія: 0.5.2
Дата завантаження: 15 Apr 15
Розробник: Ryan Kelly
Ліцензія: Безкоштовно
Популярність: 8

Rating: nan/5 (Total Votes: 0)

m2wsgi є модуль Python, який забезпечує обробник шлюзу WSGI для веб-сервера Mongrel2, що дозволяє легке розгортання Python додатків на Mongrel2 і NBSP ;. Ви також можете знайти його допоміжні класи корисні для розробки обробників без WSGI в Python.

Використання командного рядка

Найпростіший спосіб використовувати цей пакет в командному рядку пусковий:
Python -m m2wsgi dotted.app.name TCP: //127.0.0.1: 9999
Це буде підключатися до Mongrel2 на зазначеному порту запиту і почати обробку запитів, передаючи їх через вказаний WSGI програми. За замовчуванням ви отримаєте один робочий потік обробки запитів; збільшити кількість потоків таким чином:
Python -m m2wsgi --num-теми = 5 dotted.app.name TCP: //127.0.0.1: 9999
Або, якщо нитки не ваша річ, використовувати eventlet перетасувати біти навколо так:
Python -m m2wsgi --io = eventlet dotted.app.name TCP: //127.0.0.1: 9999
Я зацікавлений в додаванні підтримки для інших модулів вводу-виводу, таких як gevent; Внесок вітаються.
Програмне Використання
Якщо у вас є більш складні потреби, ви можете використовувати m2wsgi з вашого застосування. Основний клас "WSGIHandler", який забезпечує простий інтерфейс сервера. Еквівалент використання вище командного рядка:
від m2wsgi.base імпорту WSGIHandler
обробник = WSGIHandler (my_wsgi_app, "TCP: //127.0.0.1: 9999")
handler.serve ()
Для більш точного контролю над каналом зв'язку між Вашим провідником і Mongrel2, створити свій власний об'єкт з'єднання:
від m2wsgi.base імпорт WSGIHandler, зв'язку
Коннектикут = З'єднання (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, штат Коннектикут)
handler.serve ()
Не у нас вже є один з них?
Кілька насправді:
І NBSP; * https://github.com/berry/Mongrel2-WSGI-Handler
І NBSP; * https://bitbucket.org/dholth/mongrel2_wsgi
Жоден з них повністю не відповідав моїм потребам. Зокрема, цей пакет має прозору підтримку для:
І NBSP; * поблочного кодування відповіді
І NBSP; * "асинхронний завантаження" великих органів запитом
І NBSP; * Знімні движки IO (наприклад, eventlet, gevent)
Він також розроблений з нуля спеціально для Mongrel2. Це означає, що отримує багато функціональності безкоштовно, і код простіше і легше в результаті.
Наприклад, немає ніякого явного управління Threadpool та запиту черги, як ви могли б знайти, наприклад, в Сервер CherryPy. Замість цього, ви просто запустити стільки теми, скільки вам потрібно, щоб вони всі підключені до одного роз'єму обробника, і mongrel2 (через zmq) автоматично балансування навантаження запитів до них.
Крім того, немає ніякого явного підтримка перезавантаження при зміні коду. Просто вбити старого обробника і почати нову. Якщо ви використовуєте фіксовані UUID, обробників, то zmq буде гарантувати, що передача відбувається плавно

Вимоги :.

  • Python

Обмеження

  • При запуску декількох потоків, Ctrl-C не чисто вийти з процесу. Схоже, фонові теми застрягти в блокирующем RECV ().
  • Алгоритм балансування навантаження zmq жодній кругової, що не є ідеальним. Наприклад, він може призначити кілька швидких запитів на тому ж потоці, повільною, що робить їх чекати, навіть якщо інші потоки стають доступними. Я працюю на zmq адаптер, який може зробити щось краще.

Інші програми розробника Ryan Kelly

PyEnchant
PyEnchant

28 Feb 15

Threading2
Threading2

28 Feb 15

promise
promise

28 Feb 15

withrestart
withrestart

28 Feb 15

m2wsgi

Коментар не знайдено
додати коментар
Включіть картинки!