我刚开始为我的网络服务器学习Python + Tornado。每次我修改我的python脚本或模板上的一些代码时,我必须停止在我的终端(CTRL + C)并重新启动它(python server.py)并且我想要一种更有效的方法来执行此操作,在修改代码之后服务器自动重启的一些文件。
以前我使用NodeJS并使用主管来执行此操作。
还有一种方法可以在Google Chrome中重新加载我的标签,这样我就可以看到更改而无需重新加载(F5)
目前我正在使用Ubuntu 11.10和Sublime Text 2并在sublime文本上使用CTRL + B,但如果服务器已在运行,则会生成错误,因为地址和端口正在使用中。无需更改端口即可解决此问题。
感谢。
答案 0 :(得分:11)
如果您正在寻找在开发过程中自动重新加载.py文件。在你的tornado.web.Application()
把debug=True
放在你的处理程序之后。
我认为您不应该在生产环境中执行此操作,因为此类实现通常使用后台线程来主动扫描文件以进行更改,这可能会降低您的应用程序速度。
答案 1 :(得分:5)
您需要启用autoreload
:
tornado.autoreload.start()
tornado.autoreload.watch('myfile')
的完整示例