Подтвердить что ты не робот

Запустить веб-приложение с gevent

Я хочу попробовать играть с gevent в качестве веб-сервера и рамки приложения. Я не вижу никакого способа "перезагрузить" сервер или обновить код приложения, не убивая и не запуская все приложение python еще раз.

Как это делается? Может быть, это просто вопрос меня, который понимает другую парадигму по пути апаша.

Кроме того, как вопрос, связанный с полусвязью, даже неплохо запустить веб-сервер И сам сайт/сервис через gevent. Я видел другие реализации, использующие gunicorn для сервера и gevent для приложения, но из тестов, которые я видел, gevent намного превосходит увольнитель как сервер, когда дело доходит до масштабирования.

4b9b3361

Ответ 1

Гуникорн имеет 3 служащих:

  • -k gevent (с использованием парсера HTTP-пушки)
  • -k gevent_pywsgi (с помощью модуля gevent.pywsgi)
  • -k gevent_wsgi (с помощью модуля gevent.wsgi)

gevent.wsgi - это быстрый HTTP-сервер, основанный на libevent.

gevent.pywsgi - сервер WSGI, реализованный в Python.

Причиной существования gevent.pywsgi является libevent-http с несколько ограничений, например, не поддерживающий keep-alive, streaming, ssl и websockets.

Обратите внимание, что новая альфа-версия (1.0a3) gevent использует libev и не включает сервер WSGI на основе libevent-http. В настоящее время gevent.wsgi здесь является псевдонимом gevent.pywsgi.

Классы серверов в gevent не имеют никаких функций, связанных с управлением процессом, перезагрузкой, перезагрузкой и т.д. Однако эти функции необходимы для развертывания. Gunicorn обеспечивает это для серверов gevent WSGI. Используйте его.