V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Tornado Documentation
http://www.v2ex.com/tornado/
Tornado on GitHub
https://github.com/facebook/tornado/
Tornado Gists
http://tornadogists.org/
Emory_M
V2EX  ›  Tornado

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

  •  
  •   Emory_M · Apr 11, 2015 · 6348 views
    This topic created in 4038 days ago, the information mentioned may be changed or developed.
    php开发的时候因为CGI管理和php解释器是独立的,所以HTTP服务不会因为错误而挂掉,只要修改好代码刷新页面就行

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

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

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

    请教一下Tornado下的解决思路
    Supplement 1  ·  Apr 12, 2015
    Supervisord 无法捕捉 处于buffer状态的print,而且控制台日志彩色标签也丢失了
    使用subprocess自己写了一个启动脚本,监控子进程的退出并重启,结合tornado 4.1 import-time 错误检测
    完美解决
    11 replies    2015-04-12 09:25:01 +08:00
    bcxx
        1
    bcxx  
       Apr 11, 2015
    一般的 debug mode 不是有 reload 机制的吗?
    futursolo
        2
    futursolo  
       Apr 11, 2015   ❤️ 1
    使用Supervisord + debug = True
    4.1已经可以检测到import进来的代码的修改并reload了。
    geew
        3
    geew  
       Apr 11, 2015
    一般设置debug=True 可以自动reload 但如果你保存时候的代码本身就是跑不起来的 肯定是不行的撒 那就手动重启一下咯 感觉这种情况出现也不是很多吧
    Emory_M
        4
    Emory_M  
    OP
       Apr 11, 2015
    @futursolo Thx,居然忘了用Supervisord!嗯 Supervisord和4.1的import-time容错特性就可以解决了
    @geew 有的时候不多,有的时候非常多,没有用PyCharm写代码伤不起
    geew
        5
    geew  
       Apr 11, 2015
    @Emory_M 哈哈 好吧 为啥不用pycharm 神器啊
    Emory_M
        6
    Emory_M  
    OP
       Apr 11, 2015
    @geew 感觉启动太慢了,而且习惯用一个Sublime搞定所有了,就是这么倔强
    kslr
        7
    kslr  
       Apr 11, 2015 via Android
    做好异常捕捉,就不会退出了
    Emory_M
        8
    Emory_M  
    OP
       Apr 11, 2015
    @kslr 如果是语法错误呢?
    kslr
        9
    kslr  
       Apr 11, 2015 via Android
    @Emory_M sublime有语法检查
    kslr
        10
    kslr  
       Apr 11, 2015 via Android
    @Emory_M 语法都经常输入错,这也太搓了吧
    server
        11
    server  
       Apr 12, 2015
    用pycharm 每天也就启动几次; Sublime 自己动手丰衣足食, 顺带熟记方法名词。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2419 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 03:40 · PVG 11:40 · LAX 20:40 · JFK 23:40
    ♥ Do have faith in what you're doing.