我在mod_wsgi
上使用python,并且在脚本的全局部分(application
函数之外)有一些语句(调试消息和其他东西)。
这些全局语句只是在.py文件被修改(触摸)后才执行一次。如果我再次更新网页,那么只有在下次编辑/触摸.py文件时才会执行这些语句。mod_wsgi:全局语句只在文件被修改时执行
我猜想原因是某种级别的缓存机制(python level?wsgi level?)。
有什么我可以配置或任何东西,使脚本的全局部分中的语句总是执行?
我在mod_wsgi
上使用python,并且在脚本的全局部分(application
函数之外)有一些语句(调试消息和其他东西)。
这些全局语句只是在.py文件被修改(触摸)后才执行一次。如果我再次更新网页,那么只有在下次编辑/触摸.py文件时才会执行这些语句。mod_wsgi:全局语句只在文件被修改时执行
我猜想原因是某种级别的缓存机制(python level?wsgi level?)。
有什么我可以配置或任何东西,使脚本的全局部分中的语句总是执行?
我找到了一个解决方案:
MaxRequestsPerChild 1
设置Apache来杀死它,部队每次重新加载的源代码之前处理每个孩子只有一个请求。
我不知道这是否是最好的方法,但至少现在工作。
阅读关于源代码重装的mod_wsgi文档。
总之,使用守护进程模式不嵌入模式和任何更改任何代码之后触碰WSGI脚本文件,它会强制重新加载守护进程。
不幸的是,我在Windows上,所以我不能使用守护进程模式 – GetFree
如果您直接读到它的话,该文档提供了关于如何在Windows中添加监视线程的配方,以便仅在文件更改时自动重启。 –
建议将MaxRequestsPerChild设置为1。 –
@GrahamDumpleton,是的,用于生产服务器。但我现在处于发展阶段。 – GetFree