2009/11/27 atomekk <[email protected]>: > > > On Nov 27, 10:07 am, Graham Dumpleton <[email protected]> > wrote: >> 2009/11/27 atomekk <[email protected]>: >> >> > Hi >> >> > I'm having trouble with site i'm working with. Website is build using >> > Pylons 0.9.7 and setup is on Apache with mod_wsgi 2.6. Generally >> > everything is working fine but sometimes after a week or so the wsgi >> > process get 'killed' with that trace in Apache logs: >> >> > mod_wsgi (pid=20008): Exception occurred processing WSGI script '/var/ >> > www/tpn-cms/cgi/wsgi.py'. >> > [Fri Nov 27 07:32:07 2009] [error] [client 79.77.134.29] IOError: >> > client connection closed >> >> That message in itself is not an indicator that the process is getting >> killed. >> >> From the FAQ at: >> >> http://code.google.com/p/modwsgi/wiki/FrequentlyAskedQuestions >> >> this is described as: >> >> """ >> Q: Why do I get the error 'IOError: client connection closed' >> appearing in the error logs? >> >> A: This occurs when the HTTP client making the request closes the >> connection before the complete response for a request has been >> written. >> >> This can occur where a user force reloads a web page before it had >> been completely displayed. It can also occur when using benchmarking >> tools such as 'ab' as they will over commit on the number of requests >> they make when doing concurrent requests, killing off any extra >> requests once the required number has been reached. >> >> In general this error message can be ignored. For more information see >> mod_wsgi issue #29. >> """ >> >> Where issue #29 is: >> >> http://code.google.com/p/modwsgi/issues/detail?id=29 >> >> As described in that issue, mod_wsgi 3.0 was changed to not be so >> noisy about that condition occurring and will only be logged in most >> cases if Apache LogLevel set to debug. >> >> So, if that is all you are seeing, it is nothing to worry about. >> >> If you are seeing other information in the logs to suggest process is >> truly crashing then post that information. >> >> Do note that since you have specified both inactivity timeout and >> maximum requests option for daemon process directive, the daemon >> process is going to be shutdown and restart on a periodic basis >> anyway. >> >> Graham >> >> > mod_wsgi conf in apache: >> >> > WSGIDaemonProcess tpnssl user=cms group=cms threads=5 maximum- >> > requests=1000 inactivity-timeout=60 display-name=%{GROUP} >> > WSGIProcessGroup tpnssl >> > WSGIScriptAlias /cms /var/www/tpn-cms/cgi/wsgi.py >> > <Directory /var/www/tpn-cms> >> > Order deny,allow >> > Allow from all >> > WSGIRestrictProcess tpnssl >> > SSLOptions +StdEnvVars >> > </Directory> >> >> > I'm considering maybe to setup some watchdog to monitor wsgi apache >> > process and restart apache when its got killed/crashed. >> >> > Thomas >> >> > -- >> >> > You received this message because you are subscribed to the Google Groups >> > "modwsgi" group. >> > To post to this group, send email to [email protected]. >> > To unsubscribe from this group, send email to >> > [email protected]. >> > For more options, visit this group >> > athttp://groups.google.com/group/modwsgi?hl=en. >> >> > > Thanks for fast reply Graham. > > I dont see any other error in the logs apache or pylons one. > Our Pylons app/website is served in Daemon mode for two domains/ > VirtualHosts, when everything is ok i can see in console: > > top -u cms > > 5873 cms 19 0 104m 13m 3904 S 0.0 0.4 0:00.00 httpd > 9855 cms 20 0 104m 13m 3904 S 0.0 0.4 0:00.00 httpd > > Two processes are running for each VirtualHost, so today when i got > this IOError in top -u cms there was only one process.
Read: http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading In there is describes how Apache server child processes can come and go in number. In other words you probably aren't even looking at mod_wsgi daemon processes there, especially if you version of top shows the name as overridden by mod_wsgi due to you using display-name option. Suggest you use instead: ps auxwww | grep wsgi The 'wsgi' bit comes from fact that the value of %{GROUP} for display-name option means that process will get renamed as (wsgi:tpnssl) instead of httpd. Also, when using WSGIDaemonProcess, the number of process in mod_wsgi daemon process group is fixed. In your case, since no process option, is defaulting to one process. As such, can never be more than one process in that daemon process group. So, believe you are just seeing the normal Apache server child processes, which as I saw can come and go and change in number anyway. Graham -- You received this message because you are subscribed to the Google Groups "modwsgi" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/modwsgi?hl=en.
