flask

大象笔记 > 标签 > flask

生产服务器 Flask 多并发支持,基于 Gunicorn

自从用了 Golang 开发服务端之后,好多年没有经历部署 Python 服务的苦恼。 但是由于要开发 Rasa 相关的服务,为了统一语言,还是继续使用了 Python Flask 框架。 又一次体验部署 Python 生产环境的艰辛。 需求 需要将 Python Flask 写的一个接口服务部署到生产服务器。 目前 Flask 部署在 docker 中,依然是以 debug 模式运行,无法同时响应多个请求。 所以需求是: 找到 Flask 生产环境部署方式 适合 docker 部署 gunicorn 支持并发的原理 我看大部分推荐的部署方式是 gunicorn, 对于 Flask / D ...

阅读全文...

flask 使用 sqlalchemy 访问 MySQL 数据库

之前用的 python orm 库 orator 发现不但很久没更新了,而且安装报错。 为了保险起见还是继续使用 sqlalchemy 吧,毕竟是主流。 flask 还有个专门的库封装了 sqlalchemy。 安装 flask sqlalchemy pip install -U Flask-SQLAlchemy pip install pymysql pip install cryptography pymysql 是一个纯 python 实现的访问 mysql 的一个库。 版本号确认 从 pip 的输出,可以看到安装的版本 Successfully installed Flask-SQL ...

阅读全文...

python flask web 框架安装 socket.io 模块

想基于 python 的 socket.io 实现实时消息,及在线状态检测。 同时兼容 rasa 的 socket.io 版本。 确认 rasa 对应的 socket.io 版本 > conda list socketio (rasa) # packages in environment at ~/miniconda3/envs/rasa: # Name Version Build Channel python-socketio 5.8.0 pypi_0 ...

阅读全文...

flask socket.io 生产环境部署

eventlet 由于 WSGI 不支持 WebSocket,所以需要引入 eventlet 来支持 WebSocket 协议。 (虽然 socket.io 也支持 http 协议,但是体验上会差很多。) eventlet is the best performant option, with support for long-polling and WebSocket transports 而在开发环境,如果没有安装 eventlet,默认使用的是 Werkzeug web server: In production mode the eventlet web server is us ...

阅读全文...