我在 Apache2.2 上运行 Django 站点,mod_wsgi 3.3 处于守护进程模式(在 Debian Wheezy 上)。
当我touch wsgi.py
在我的 shell 中对我的 WSGI 脚本使用该命令时,该进程被重新加载并且一切正常。但是,当我wsgi.py
从 web 应用程序代码修改文件时,修改时间被正确更改(通过检查stat
)但 WSGI 进程没有重新启动。在运行 WSGI-daemon 时手动触摸文件时,我使用的是相同的用户帐户。
我已经尝试了以下两种方法来从 web 应用程序代码中“触摸”文件,但这些方法都不起作用:
- os.system('touch /abs/path/to/wsgi.py')
- 使用 django-rosetta 的 ROSETTA_WSGI_AUTO_RELOAD 设置为我完成这项工作
上述两个选项实际上似乎与我touch
从 shell 手动执行时完全一样。他们更新所有访问、修改和更改文件属性(我正在使用 ext4,如果这可能重要的话)。
我知道这真的很奇怪,在我阅读了所有文档之后,我感到绝望。有谁至少知道可能是什么原因?