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:80 harakiri = 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:80 protocol = uwsgi harakiri = 120 ...