> On 26 Aug 2017, at 2:00 am, Dave Williams <[email protected]> wrote:
> 
> 
> Very quickly on one point as is late.
> 
> You want to override --request-timeout option. This defaults to 60 seconds. 
> Even if you only had one request, with 5 threads the WSGI process will be 
> force restarted after 300 seconds. If you don't want a timeout try 
> --request-timeout 0. That way requests can run as long as they like and is 
> what straight Apache/mod_wsgi behaves like.
> 
> 
> OK - I will try as soon as I can (its the long summer "bank holiday" weekend 
> here in the UK so i might not be allowed anywhere near a computer!). 
> 
> With apache "extra.conf" settings still set to
> Timeout 21600

This is what is set by --socket-timeout.

> RequestReadTimeout header=300-360,MinRate=500 body=300-360,MinRate=500

This is what is set by options:

  --header-timeout SECONDS
                        The number of seconds allowed for receiving the
                        request including the headers. This may be dynamically
                        increased if a minimum rate for reading the request
                        and headers is also specified, up to any limit imposed
                        by a maximum header timeout. Defaults to 15 seconds.
  --header-max-timeout SECONDS
                        Maximum number of seconds allowed for receiving the
                        request including the headers. This is the hard limit
                        after taking into consideration and increases to the
                        basic timeout due to minimum rate for reading the
                        request and headers which may be specified. Defaults
                        to 30 seconds.
  --header-min-rate BYTES
                        The number of bytes required to be sent as part of the
                        request and headers to trigger a dynamic increase in
                        the timeout on receiving the request including
                        headers. Each time this number of bytes is received
                        the timeout will be increased by 1 second up to any
                        maximum specified by the maximum header timeout.
                        Defaults to 500 bytes.
  --body-timeout SECONDS
                        The number of seconds allowed for receiving the
                        request body. This may be dynamically increased if a
                        minimum rate for reading the request body is also
                        specified, up to any limit imposed by a maximum body
                        timeout. Defaults to 15 seconds.
  --body-max-timeout SECONDS
                        Maximum number of seconds allowed for receiving the
                        request body. This is the hard limit after taking into
                        consideration and increases to the basic timeout due
                        to minimum rate for reading the request body which may
                        be specified. Defaults to 0 indicating there is no
                        maximum.
  --body-min-rate BYTES
                        The number of bytes required to be sent as part of the
                        request body to trigger a dynamic increase in the
                        timeout on receiving the request body. Each time this
                        number of bytes is received the timeout will be
                        increased by 1 second up to any maximum specified by
                        the maximum body timeout. Defaults to 500 bytes.

> LogLevel info

This is what is set by --log-level.

> and mod_wsgi-express set to
> --include extra.conf  # hmm shouldn't that be --include-file but it appears 
> to work 

Yes, is meant to be --include-file, which may mean where you put it isn't being 
picked up.

> --socket-timeout 3600
> --request-timeout 60
> --debug-mode

If you set --debug-mode, it will run in single process mode, which makes all 
the timeouts meaningless exception for Timeout/RequestReadTimeout. 

>  I ran a test data request for 85 minutes before it fell over with another 
> (unrelated and stupid) python exception that I have now fixed.
> I am repeating that run to make sure this aspect is out of the equation.


You need to check whether the options are even making it through.

Use docker exec to create an interactive shell in the container and look at the 
contents of generated apachectl file down in mod_wsgi directory under /tmp. It 
records the options mod_wsgi-express got passed and will confirm of server_args 
being picked up correctly.

Graham

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to