如何在某些文件发生变化时使龙卷风自动重启

时间:2013-07-26 07:30:58

标签: linux python-3.x tornado

我正在使用Tornado使用Python 3和Linux服务器,当我编辑并保存一些文本或XML文件时,我希望Tornado重新启动自己。我检查了文档并找到了自动加载模块和监视功能here

它似乎只适用于pyo文件。如果我希望在修改某个URI时重新加载,我该怎么办?

3 个答案:

答案 0 :(得分:4)

在设置中将调试标志设置为True会强制Tornado在修改文件时或在app.py中更改URI时(或者您已经定义处理程序的位置)重新加载。 Tornado还会自动重新加载模板文件,以便立即看到任何更改。

    settings = {
                'debug':True,
               # other stuff
    }
    tornado.web.Application.__init__(self, handlers, **settings)

答案 1 :(得分:3)

添加的文件必须是绝对路径。

def addwatchfiles(*paths):
    for p in paths:
        autoreload.watch(os.path.abspath(p))
addwatchfiles('config.xml')

config.xml与服务器的python文件所在的目录位于同一目录。

答案 2 :(得分:1)

您需要启用autoreload

tornado.autoreload.start()
tornado.autoreload.watch('myfile')

https://gist.github.com/renaud/10356841

的完整示例