Używam Django, FastCGI i Nginx. Tworzę api rodzajów, w których ktoś może przesłać pewne dane za pośrednictwem XML, które będę przetwarzać, a następnie zwrócić niektóre kody stanu dla każdego węzła, który został wysłany.Jak zapobiec przekroczeniu limitu czasu bramy za pomocą FastCGI na Nginx
Problem polega na tym, że Nginx wyrzuci limit czasu bramki 504, jeśli zajmie mi to zbyt dużo czasu na przetworzenie XML - myślę, że dłużej niż 60 sekund.
Tak więc chciałbym skonfigurować Nginx, aby wszelkie żądania pasujące do lokalizacji/interfejsu API nie kończyły się na 120 sekund. Jakie ustawienie to osiągnie.
Co mam tak daleko jest:
# Handles all api calls
location ^~ /api/ {
proxy_read_timeout 120;
proxy_connect_timeout 120;
fastcgi_pass 127.0.0.1:8080;
}
Edycja: Co mam nie działa :)
Możesz ustawić wartości limitu czasu na "2m" zamiast "120". –
Wygląda na to, że dane nie są przesyłane strumieniowo ... tzn. Że serwer, który zacznie odpowiadać w ciągu 60 sekund lub dłużej, wydaje się nie do przyjęcia. –