几乎每个Python Web框架都有一个运行wsgi应用程序的简单服务器,并在每次更改源时自动重新加载导入的模块。我知道我可以查看代码,看看它是如何完成的,但这可能需要一些时间,而我只是出于好奇而要求。有没有人知道这是如何实现的?
答案 0 :(得分:2)
作为其中一个重新加载机制(werkzeug中的一个)的作者,我可以告诉你它不起作用。如果监视器线程注意到文件系统上的一个模块发生了更改,那么所有重新加载器都会执行一次并重新启动子进程。
内联reload()
不起作用,因为不会更新对重新加载的模块的引用。
答案 1 :(得分:1)
reload()不起作用。 “重新加载”通常通过分叉来实现。
实现“真正的”重载()非常困难,即使是最严重的尝试,twisted.python.rebuild并不完美。