mod_python 解释器的缓存在脚本更改时未重置?

0 投票
1 回答
1105 浏览
提问于 2025-04-15 14:32

我在用mod_python.publisher来运行Python代码时发现了一个问题:每当我更新一个脚本时,这个更新并不总是立刻生效,我还是会看到之前修复过的错误,直到我重启Apache。

有时候更新能立刻生效,但有时候却不行……不过重启Apache肯定能解决这个问题。频繁重启Apache真的很麻烦,我觉得应该有更好的办法来处理这个问题——但那是什么呢?

1 个回答

3

这是mod_python的正常表现。你的代码会被加载到内存中,直到服务器重启之前,它不会自动更新。

你有两个选择:

  1. 在你的httpd.conf文件中设置MaxRequestsPerChild为1,这样每次请求时,Apache都会重新加载所有内容。

  2. 将PythonAutoReload设置为开启
    http://www.modpython.org/live/mod_python-3.2.5b/doc-html/dir-other-par.html

不过,不要在生产服务器上这样做,因为这会让初始化的时间变得更长。

撰写回答