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.

Использование командной строки

Простейший способ использовать этот пакет в командной строке запуска:
питон -m m2wsgi dotted.app.name TCP: //127.0.0.1: 9999
Это будет подключаться к Mongrel2 на указанном порту запроса и начать обработку запросов, передавая их через указанный WSGI приложение. По умолчанию вы получите один рабочий поток обработки всех запросов; увеличить количество потоков, как так:
питон -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
Я заинтересован в добавлении поддержки для других модулей ввода-вывода, таких как 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

Комментарии к m2wsgi

Комментарии не найдены
добавить комментарий
Включите картинки!