First things first. Mod_wsgi is clearly brilliant, which is why everyone uses it to deploy Django applications. It's also well documented and assiduously supported by its creator, if a little intimidatingly. It's easy to install, setup is a breeze and initial configuration, though fiddly, is manageable as long as you follow the instructions. It's probably even more straightforward if you're half-way competent with Apache – I'm the opposite of that. Which is why, probably, I had this persistent error, which drove me insane yesterday for six hours until I hacked together a workaround, which is pretty ugly, but will have to do because whatever the elegant solution is... I couldn't find it. The issue: I was trying to run two simple applications on an ubuntu server – one which needed to update the time, and the other a cut-paste install of django's Spirit forum. Two things were happening. First, my datetime values weren't keeping pace with the server. They'd update only when I reloaded Apache, which seemed a bit weird. Second, Spirit provides an HTML form from the admin dashboard, from which it calls a preferred site name and some other basic settings. I'd enter these, it'd update, and then it would forget them, default to empty values unless, again, I reloaded Apache. I got annoyed with Apache before it dawned on me that I was using mod_wsgi to manage django and, more likely, I'd done something daft in the setup. Some early investigation revealed that I hadn't been that daft. I'd just set up mod_wsgi in embedded rather than daemon mode, which requires an Apache reload to update any changes in the source code – and because, presumably, the datetime function and the Spirit settings are determined by django views within the app... Anyway, switching to daemon mode is straightforward enough, just a few changes in the virtual host. But this doesn't resolve the symptoms – you still need to 'do' something to mod_wsgi to shut down and restart the daemon process and to serve up the source code changes. But what? There appear to be two options. Either you touch the mod_wsgi script file, which updates the time stamp and is sufficient to restart the daemon process. Or you embed a management script into the application – called something like monitor.py – and get the script file to call it, updating itself in the process. What this management should look like... I have no idea. I tried writing a function to mimic a unix touch, I googled endlessly, I re-read the documentation... As I said, surely my stupidity... So, as a workaround, I have a cron job running to touch the mod_wsgi script file sufficiently often to help Spirit remember itself and to keep the time pretty much up to date. Urgh. What I need is for the touch to come, or the script file to update itself, on request from the browser... any ideas?