On Aug 22, 12:07 am, Jim <jim.heffe...@gmail.com> wrote: > Hello, > > I have Django running under apache2 (the worker version, I believe, > with MaxRequestsPerChild set to the default, which is 0). I am using > mod_wsgi in daemon mode. I have checked that it is daemon mode using > the method described on mod_wsgi's ReloadingSourceCode page. > > I need to do a nightly refresh because I get data for the db from a > coworker somewhere else. So I have a cron job that does as follows. > > (1) Sets a flag "SITE_UP=False" in the code base file "site_up.py" > that shows up in each RequestContext, causing each dynamic page to say > "site is not up" since base.html looks for that flag {{SITE_UP}}. > (2) Touches django.wsgi so pages will tell visitors the site is not > up. > (3) Updates the dB > (4) Sets the flag from (1) back to its starting value > "SITE_UP=True". > (5) Touches django.wsgi. > > (Step (3) takes perhaps a half hour. If there is a better way to do > what I am trying to do, I'd be very glad to hear it.) > > The problem is: I come in the next morning and sometimes the pages > work, while sometimes they say "Site is no up". > > If I keep refreshing a page in my browser then sometimes it works > correctly and gives me the new data, and sometimes it says "not up." > > If I restart apache, the problem of showing "not up" disappears. > > I had thought that Apache's children talk to the wsgi processes (I > have 4 of them), which mod_wsgi's ReloadingSourceCode page tells me > will be restarted. But obviously I'm not understanding something. > > I wonder if anyone has a suggestion about how I am going wrong? I was > hopeful of finding a way to accomplish this without having to restart > apache from a cron job.
Set Apache directive LogLevel to 'info' instead or 'warn'. This will cause mod_wsgi to log information about when it is restarting processes. Analyse that and see if anything stands out. BTW, what version of mod_wsgi are you using? Update to mod_wsgi 3.3 if you are using an old version. Graham -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.