uWSGI request timeout in Python uWSGI request timeout in Python python python

uWSGI request timeout in Python


You're propably looking for the harakiri parameter - if request takes longer than specified harakiri time (in seconds), the request will be dropped and the corresponding worker recycled.

For standalone uwsgi (ini config):

[uwsgi]http = 0.0.0.0:80harakiri = 30...

If you have nginx proxy before uwsgi you have to increase timeout as well:

  location / {    proxy_pass http://my_uwsgi_upstream;    proxy_read_timeout 30s;    proxy_send_timeout 30s;  }

If you want (for some strange reason) higher timeout than 60s, you might consider communication over uwsgi protocol. Configuration is quite similar nginx site:

location / {    uwsgi_read_timeout 120s;    uwsgi_send_timeout 120s;    uwsgi_pass  my_upstream;    include     uwsgi_params;}

uwsgi:

[uwsgi]socket = 0.0.0.0:80protocol = uwsgiharakiri = 120...


Setting http-timeout worked for me. I have http = :8080, so I assume if you use file system socket, you have to use socket-timeout.


it worked for me by comment#master = trueand put this,lazy-apps = true

in uwsgi.ini file