Tornado 开发中出错调试如何像 PHP 一样?

2015-04-11 13:45:36 +08:00
 Emory_M
php开发的时候因为CGI管理和php解释器是独立的,所以HTTP服务不会因为错误而挂掉,只要修改好代码刷新页面就行

但是Tornado或Python Web开发中如果遇到错误进程退出,都需要修改代码后手动重启进程,体验非常不好

Node.js可以使用cluster来启动子进程管理, 实现“出错-监控代码修改-重启进程”
比如: https://github.com/DoubleSpout/ClusterPlus

Tornado的tornado.autoreload模块似乎只能处理import-time发生的语法错误,并不能持续进入wait监控

请教一下Tornado下的解决思路
5478 次点击
所在节点    Tornado
11 条回复
bcxx
2015-04-11 13:49:38 +08:00
一般的 debug mode 不是有 reload 机制的吗?
futursolo
2015-04-11 14:06:38 +08:00
使用Supervisord + debug = True
4.1已经可以检测到import进来的代码的修改并reload了。
geew
2015-04-11 15:17:04 +08:00
一般设置debug=True 可以自动reload 但如果你保存时候的代码本身就是跑不起来的 肯定是不行的撒 那就手动重启一下咯 感觉这种情况出现也不是很多吧
Emory_M
2015-04-11 16:34:51 +08:00
@futursolo Thx,居然忘了用Supervisord!嗯 Supervisord和4.1的import-time容错特性就可以解决了
@geew 有的时候不多,有的时候非常多,没有用PyCharm写代码伤不起
geew
2015-04-11 17:10:56 +08:00
@Emory_M 哈哈 好吧 为啥不用pycharm 神器啊
Emory_M
2015-04-11 17:45:17 +08:00
@geew 感觉启动太慢了,而且习惯用一个Sublime搞定所有了,就是这么倔强
kslr
2015-04-11 18:00:23 +08:00
做好异常捕捉,就不会退出了
Emory_M
2015-04-11 21:04:37 +08:00
@kslr 如果是语法错误呢?
kslr
2015-04-11 21:10:34 +08:00
@Emory_M sublime有语法检查
kslr
2015-04-11 21:11:52 +08:00
@Emory_M 语法都经常输入错,这也太搓了吧
server
2015-04-12 09:25:01 +08:00
用pycharm 每天也就启动几次; Sublime 自己动手丰衣足食, 顺带熟记方法名词。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/183039

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX