我使用 mod_python.publisher 运行 Python 代码并发现了一个问题:当我更新脚本时,更新并不总是立即生效,并且在我重新启动 Apache 之前,我得到了与更新修复相同的错误。
有时它可以立即工作,但有时不能......但重新启动 Apache 肯定总是能赶上它。不得不重新启动 Apache 很痛苦,我认为有更好的方法来做到这一点——但它是什么?
我使用 mod_python.publisher 运行 Python 代码并发现了一个问题:当我更新脚本时,更新并不总是立即生效,并且在我重新启动 Apache 之前,我得到了与更新修复相同的错误。
有时它可以立即工作,但有时不能......但重新启动 Apache 肯定总是能赶上它。不得不重新启动 Apache 很痛苦,我认为有更好的方法来做到这一点——但它是什么?
这是 mod_python 的预期行为。您的代码已加载到内存中,并且在服务器重新启动之前不会被刷新。
你有两个选择:
在 httpd.conf 文件中设置 MaxRequestsPerChild 1 以强制 Apache 为每个请求重新加载所有内容。
将 PythonAutoReload 设置为 On
http://www.modpython.org/live/mod_python-3.2.5b/doc-html/dir-other-par.html
但是不要在生产服务器上这样做,因为它会减慢初始化时间。