2012-04-01 176 views
10

我刚开始为我的Web服务器学习Python + Tornado。每次我修改我的Python脚本或模板上的一些代码时,我必须停止在我的终端(CTRL + C)并重新启动它(python server.py),我想要一个更有效的方法来完成这个工作,服务器会自动重启一些文件。Python + Tornado编辑文件后重新启动

此前我使用NodeJS并使用主管来完成此操作。

也有重装我的谷歌浏览器选项卡,以便我能看到的变化无需重新加载的方式(F5)

目前我使用Ubuntu 11.10和崇高文字2和崇高的文本使用CTRL + B ,但是如果服务器已在运行,则会因为地址和端口正在使用而生成错误。有没有修改端口的修复。

谢谢。

回答

10

如果您正在寻找在开发过程中自动重新加载.py文件。你的tornado.web.Application()在你的处理程序后放debug=True

我不认为你应该在生产环境中这样做,因为这种实现通常使用后台线程主动扫描文件以进行更改,这可能会降低应用程序的速度。

+0

伟大的作品,谢谢! – danielfrg 2012-04-01 02:36:29

+1

其实我相信龙卷风不会为此使用单独的线程,而是在其IOLoop上注册处理程序。尽管如此,它还是会产生开销。而且,调试消息不应该用于生产。 – 2012-09-15 13:59:07

+0

现在只需传入“autoreload = True”即可。这里有一个文档页面:http://www.tornadoweb.org/en/stable/autoreload.html – Ross 2016-12-01 10:18:41