Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 当某些文件发生更改时,如何使tornado自动重新启动_Linux_Python 3.x_Tornado - Fatal编程技术网

Linux 当某些文件发生更改时,如何使tornado自动重新启动

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

我正在使用Tornado与Python3和Linux服务器一起工作,当我编辑和保存一些文本或XML文件时,我希望Tornado重新启动自己。我检查了文档,找到了autoreload模块和watch函数


它似乎只适用于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文件。