后台使用tornado4开发,需要搭建一个后台开发环境,让代码修改后自动重启 热加载;
1.简介
Python后端使用 tornado开发并且使用setuptools进行编译部署线上,流程相对完善;每次代码版本修改完成后编译并push入代码库,在发布主机pull install 安装 并重启即可;
但是作为开发人员 进行任务开发时我们不想要如此繁琐的 验证过程,并且习惯如Django runserver自动监听代码修改 并自动reload的开发模式;而在tornado下则是tornado.autoreload,具体如下:
2.开发环境构建
本地使用pycharm for Mac开发,使用ssh 远程依赖。配置ssh 远程部署及依赖方式不过多赘述;在 Tools中配置部署,及在pycharm-》preferences中配置远程依赖即可;
环境:
开发客户端 :终端开发主机,代码编辑后使用pycharm自动保存入 远程依赖开发机
远程依赖开发机 :pip 安装依赖 提供依赖及开发运行
1)启动脚本更改
import tornado.autoreload
application = tornado.web.Application(url_map, debug=True)
如图加入两行即可:
2)运行
将代码自动上传到远程主机后,在远程主机执行 python script_start 启动脚本即可
关于tornado.autoreload
启动reload的方式有多重,其中我采用如上方式,还可以在主函数中使用tornado.autoreload.start(io_loop)方式;
autoreload能自动监听引入的相关模块,即在头部import 的文件,如有变更则自动reload;
对于未import的模块 使用tornado.autoreload.watch() 方法监听;
autoreload 模式不支持 bind、start多进程模式;
因将代码打包并安装在 /usr/lib/python2.6/site-packages,每次启动优先运行这里的包, 无法运行 当前的开发环境;需将安装包移除即可
网友评论