> 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.