我使用安装在D:\BitNami DjangoStack和C:\Documents and Settings\tsurahman\BitNami DjangoStack projects\myproject作为项目目录的Bitnami DjangoStack http://bitnami.org/stack/djangostack和Windows XP进行测试(默认安装)
在http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode#Restarting_Apache_Processes中,我添加了
MaxRequestsPerChild 1
在文件D:\BitNami DjangoStack\apps\django\conf\django.conf
中,请参阅 Graham Dumpleton 的评论
然后我在我的项目目录中创建了一个文件monitor.py ,其内容如http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode#Monitoring_For_Code_Changes并用http://code.google.com替换_restart方法/p/modwsgi/wiki/ReloadingSourceCode#Restarting_Windows_Apache,这是脚本的一部分
....
_running = False
_queue = Queue.Queue()
_lock = threading.Lock()
def _restart(path):
_queue.put(True)
prefix = 'monitor (pid=%d):' % os.getpid()
print >> sys.stderr, '%s Change detected to \'%s\'.' % (prefix, path)
print >> sys.stderr, '%s Triggering Apache restart.' % prefix
import ctypes
ctypes.windll.libhttpd.ap_signal_parent(1)
def _modified(path):
try:
....
并在文件D:\BitNami DjangoStack\apps\django\scripts\django.wsgi中,
....
import django.core.handlers.wsgi
import monitor
monitor.start(interval=1.0)
monitor.track(os.path.join(os.path.dirname(__file__), 'site.cf'))
application = django.core.handlers.wsgi.WSGIHandler()
然后重新启动 Apache 服务器