flask vuejs 全栈开发-min.png

前端打包编译后只有静态文件,所以由 Nginx 提供静态资源服务,速度非常快。由于 Flask 自带的开发 Web 服务器性能不足以应对生产环境的并发访问,所以我们使用 Gunicorn 来替代它。正式环境中数据库不再使用 SQLite,由于我们使用了 SQLAlchemy ORM,所以可以很方便的将数据库切换到 MySQL 或 PostgreSQL。同时,我们还可以使用 Supervisor 来监控 Gunicorn、RQ worker 等进程的存活(自动重启进程)

flask vuejs 全栈开发-min.png

通常对于处理时间较长的任务,我们应该放在后台进行异步处理,这样就不会阻塞当前请求。本文将通过 Redis Queue 来实现 [群发私信/邮件] 和 [导出文章] 后台任务(且动态显示任务进度),如果你有多个任务要并发执行,请开启多个 rq worker 即可;其中 [导出文章] 的代码在 http://www.madmalls.com/blog/post/latest-code 中

专题系列