[uWSGI] Enable uwsgi requests to run for a long time?

Roberto De Ioris roberto at unbit.it
Wed Jul 6 16:51:43 CEST 2016


> Hello,
>
> I'm setting up uWSGI as part of a batch processing system which has
> the following flow:
>
>
> (work distributor) --> (http) -> [ apache -> uwsgi -> python3 flask
> application ] x N
>
> That is: I have N nodes with apache + uwsgi + a python3 flask
> application to do the processing. The "work distributor" submits a
> task through HTTP to such a machine, which runs it synchronously and
> then replies on the same HTTP connection. Such a HTTP request can take
> 5-10 minutes. What do I need to set in my uwsgi ini file so that it
> doesn't kill the request? I'm concerned because I saw this in the log:
>
> "your mercy for graceful operations on workers is 60 seconds"
>
> I tried to search around a little but couldn't find the setting which
> changes this (tried "harakiri" but that wasn't it).
>
> Thank you,
> Attila
> _______________________________________________
>

You have to configure every element of you stack to tolerate such a huge
timeout:

* apache proxy/module timeout and generic timeout
* uWSGI socket-timeout and harakiri
* uWSGI http-timeout if you are using the http router (albeit having
apache on front it would be useless)

the mercy timeout is not related to your problem.

Regards

-- 
Roberto De Ioris
http://unbit.com


More information about the uWSGI mailing list