I’m developing a Django site. I’m making all my changes on the live server, just because it’s easier that way. The problem is, every now and then it seems to like to cache one of the *.py files I’m working on. Sometimes if I hit refresh a lot, it will switch back and forth between an older version of the page, and a newer version.
My set up is more or less like what’s described in the Django tutorials: http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/#howto-deployment-modwsgi
I’m guessing it’s doing this because it’s firing up multiple instances of of the WSGI handler, and depending on which handler the the http request gets sent to, I may receive different versions of the page. Restarting apache seems to fix the problem, but it’s annoying.
I really don’t know much about WSGI or “MiddleWare” or any of that request handling stuff. I come from a PHP background, where it all just works 🙂
Anyway, what’s a nice way of resolving this issue? Will running the WSGI handler is “daemon mode” alleviate the problem? If so, how do I get it to run in daemon mode?
You can resolve this problem by not editing your code on the live server. Seriously, there’s no excuse for it. Develop locally using version control, and if you must, run your server from a live checkout, with a post-commit hook that checks out your latest version and restarts Apache.