django抓住caching中的文件,删除view.py和view.pyc文件,仍然运行

我已经inheritance了一个运行python / django的网站。 有一个问题,我相信Django在memcache(可能)保持文件。

这是一个生产服务器。 目前没有DEV环境(这是另一回事)。

我不得不对现场进行紧急修复。 但是对.py文件的任何修改都不会反映在网站上。 我甚至可以完全删除一个view.py(和view.pyc),并愉快地继续加载页面。 我已经研究过caching( https://docs.djangoproject.com/en/1.3/topics/cache/ ),并添加了适当的dummycache行:

CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.dummy.DummyCache', } } 

我试过迫使caching1秒:

 CACHE_MIDDLEWARE_KEY_PREFIX = '' CACHE_MIDDLEWARE_SECONDS = 1 CACHE_MIDDLEWARE_ALIAS = 'default' 

重新启动nginx服务没有帮助。 我可以运行/etc/init.d/nginx restart ,原始文件仍然在运行后被修改或完全删除。 唯一强制新文件被读取并重新编译为pyc的是重新启动整个VPS实例! 我可以编辑模板就好,改变是asap,只有py文件没有编译到pyc。

其他一些观点:

  1. 我也试过sudo /etc/init.d/nginx reload ,没有骰子。
  2. 这是一个AWS EC2 Linux VPS,它通过nginx而不是apache运行python
  3. 我试过touch <project>/wsgi.py
  4. Distro是CentOS 6.5(最终版),所以我也尝试了sudo service nginx reloadsudo service nginx restart

有没有人能够阐明这一点?

编辑:作为一个testing,我刚刚删除了一个关键的view.py + view.pyc文件到网站的子部分,15分钟后,它仍然运行完美。

编辑2:我开始认为我只是想以不同的方式重新启动nginx。 我该怎么打电话? 用Nginx保存更改到Django?

Edit3:基于下面的IgnacioVazquez-Abrams帮助,发现它通过ps -ef进程使用uwsgi。 然后,我发现它使用主pipe作为经理,所有适当的conf文件看起来很好。 然后只需重新启动即时更新的主pipe和BAM文件。 不用说,这是扩展我的知识的Linux + Python。

基于IgnacioVazquez-Abrams的帮助,发现nginx使用uwsgi通过ps -ef进程来为django服务。 找到它使用uwsgi,并找到uwsgi配置文件,我做了一个查询搜索任何引用加载uwsgi文件,它发现它在主管conf文件。

然后,我发现它使用supervisor作为经理,所有适当的conf文件看起来很好。 然后只需重新启动即时更新的supervisor和BAM文件。 不用说,这是扩展我的知识的Linux + Python。

它回避了这个问题,难道没有更简单的方法让文件在指定的时间段之后自动重新加载吗?或者这对于改进python / django / nginx / uwsgi堆栈的性能至关重要?