LINUX.ORG.RU

История изменений

Исправление menangen, (текущая версия) :

Не, ты не так понял. Под фласком работает всё так же как и без фласка. За исключением того, что фласк использует (в dev режиме) внутри http сервер, который работает по аналогии бесконечного цикла, и блокируется при выполнении долгих запросов. Поэтому на продакшен веб приложение запускают другими веб серверами по типу gunicorn, который отгораживают от внешнего мира ещё дополнительным реверс прокси - nginx, lighttpd, https://caddyserver.com/

Пакеты для фласка создают просто как обёртки, упрощающие интеграцию библиотек в request based архитектуру на основе flask. Сложную работу по типу конвертации видео, компрессии файлов - выносят в отдельные сервисы через посредников - очереди, брокеров сообщений (ZeroMQ), и интегрируют с ними другие бэкенды, которые делают кропотливую работу.

Gevent же - это немного другой «цикл», который может использоваться как ядро веб сервера, и он имеет асинхронную архитектуру, которая усложняет работу с БД и прочим, т.к. требует, чтобы весь код драйверов БД и т.п. был также асинхронным (в идеале).

Короче, не лезь в Gevent + Flask, а покрути лучше pypy + Flask, а заниматься преждевременной оптимизацией и выбирать асинхронную архитектуру для Flask - это большой риск.

Исходная версия menangen, :

Не, ты не так понял. Под фласком работает всё так же как и без фласка. За исключением того, что фласк использует (в dev режиме) внутри http сервер, который работает по аналогии бесконечного цикла, и блокируется при выполнении долгих запросов. Поэтому на продакшен веб приложение запускают другими веб серверами по типу gunicorn, который отгораживают от внешнего мира ещё дополнительным реверс прокси - nginx, lighttpd, https://caddyserver.com/

Пакеты для фласка создают просто как обёртки, упрощающие интеграцию библиотек в request based архитектуру на основе flask. Сложную работу по типу конвертации видео, компрессии файлов - выносят в отдельные сервисы через посредников - очереди, брокеров сообщений (ZeroMQ), и интегрируют с ними другие бэкенды, которые делают кропотливую работу.

Gevent же - это немного другой «цикл», который может использоваться как ядро веб сервера, и он имеет асинхронную архитектуру, которая усложняет работу с БЛ и прочим, т.к. требует, чтобы весь код драйверов БД и т.п. был также асинхронным (в идеале).

Короче, не лезь в Gevent + Flask, а покрути лучше pypy + Flask, а заниматься преждевременной оптимизацией и выбирать асинхронную архитектуру для Flask - это большой риск.