I am running Django, FastCGI, and Nginx. I am creating an api of sorts that where someone can send some data via XML which I will process and then return some status codes for each node that was sent over.
The problem is that Nginx will throw a 504 Gateway Time-out if I take too long to process the XML — I think longer than 60 seconds.
So I would like to set up Nginx so that if any requests matching the location /api will not time out for 120 seconds. What setting will accomplish that.
What I have so far is:
# Handles all api calls location ^~ /api/ { proxy_read_timeout 120; proxy_connect_timeout 120; fastcgi_pass 127.0.0.1:8080; }
Edit: What I have is not working 🙂
Proxy timeouts are well, for proxies, not for FastCGI…
The directives that affect FastCGI timeouts are
client_header_timeout,client_body_timeoutandsend_timeout.Edit: Considering what’s found on nginx wiki, the send_timeout directive is responsible for setting general timeout of response (which was bit misleading). For FastCGI there’s
fastcgi_read_timeoutwhich is affecting the FastCGI process response timeout.