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.


Reply via email to