Linux 当某些文件发生更改时,如何使tornado自动重新启动
我正在使用Tornado与Python3和Linux服务器一起工作,当我编辑和保存一些文本或XML文件时,我希望Tornado重新启动自己。我检查了文档,找到了autoreload模块和watch函数Linux 当某些文件发生更改时,如何使tornado自动重新启动,linux,python-3.x,tornado,Linux,Python 3.x,Tornado,我正在使用Tornado与Python3和Linux服务器一起工作,当我编辑和保存一些文本或XML文件时,我希望Tornado重新启动自己。我检查了文档,找到了autoreload模块和watch函数 它似乎只适用于pyo文件。如果我想在修改某个URI时重新加载它,该怎么办?在“设置”中将“调试”标志设置为“真”,则每当修改文件或在app.py中更改URI时(或定义处理程序时),Tornado都会强制重新加载。Tornado还可以自动重新加载模板文件,以便可以立即看到其中的任何更改 se
它似乎只适用于pyo文件。如果我想在修改某个URI时重新加载它,该怎么办?在“设置”中将“调试”标志设置为“真”,则每当修改文件或在app.py中更改URI时(或定义处理程序时),Tornado都会强制重新加载。Tornado还可以自动重新加载模板文件,以便可以立即看到其中的任何更改
settings = {
'debug':True,
# other stuff
}
tornado.web.Application.__init__(self, handlers, **settings)
添加的文件必须是绝对路径
def addwatchfiles(*paths):
for p in paths:
autoreload.watch(os.path.abspath(p))
addwatchfiles('config.xml')
config.xml位于服务器python文件的起始目录。您需要打开
autoreload
:
tornado.autoreload.start()
tornado.autoreload.watch('myfile')
在完成示例我已经将调试标志设置为true。它不起作用。如果我在应用程序启动之前读取了一些xml文件,修改xml文件不会触发应用程序重新启动。有什么方法可以设置它吗?如果autoreload watch函数不适用于此,那么很抱歉,我不知道还能做什么。我也有同样的问题,所以我认为这只会重新加载Python文件。