mod_python 解释器的缓存在脚本更改时未重置?
我在用mod_python.publisher来运行Python代码时发现了一个问题:每当我更新一个脚本时,这个更新并不总是立刻生效,我还是会看到之前修复过的错误,直到我重启Apache。
有时候更新能立刻生效,但有时候却不行……不过重启Apache肯定能解决这个问题。频繁重启Apache真的很麻烦,我觉得应该有更好的办法来处理这个问题——但那是什么呢?
1 个回答
3
这是mod_python的正常表现。你的代码会被加载到内存中,直到服务器重启之前,它不会自动更新。
你有两个选择:
在你的httpd.conf文件中设置MaxRequestsPerChild为1,这样每次请求时,Apache都会重新加载所有内容。
将PythonAutoReload设置为开启
http://www.modpython.org/live/mod_python-3.2.5b/doc-html/dir-other-par.html
不过,不要在生产服务器上这样做,因为这会让初始化的时间变得更长。