2011-09-08 4 views
10

Sto eseguendo un'applicazione Django su una piattaforma Linux con gunicorn e Nginx. Consento agli utenti di caricare un file CSV (circa 2 MB) che l'app elabora e aggiunge al database di back-end. Il problema è che per i file di grandi dimensioni qualcosa sembra scadere dopo circa 2 o 3 minuti e viene visualizzata una pagina intitolata 404 Non trovato nginx/0.7.6. Tuttavia, l'URL non cambia, ovvero rimane l'URL della pagina di caricamento del file della mia app.Timeout durante il caricamento di un file di grandi dimensioni?

Gli spettacoli registro errori Nginx:

2011/09/08 13:28:05 [errore] 1349 # 0: * 303 monte scaduta (110: Timeout della connessione) durante la lettura intestazione di risposta da upstream, client: 213.146.112.122, server: _, richiesta: "POST/app/import_csv/HTTP/1.1", a monte:

Qualche idea cosa sta succedendo? Come posso aumentare questo timeout?

+0

Quanto è grande il file? –

+0

Il file è di circa 2 MB. Ho aggiornato la domanda con queste informazioni. Grazie. – dougv

risposta

14

ho aggiunto:

proxy_read_timeout 1200; 

a nginx.conf. Ciò ha aumentato il timeout dall'impostazione predefinita che ha risolto il problema. Probabilmente non ho bisogno di usare 1200, è solo il primo valore che ho provato.

+0

Ben fatto. Puoi accettare la tua risposta. – christophe31

+1

L'equivalente di Apache è: ProxyTimeout seconds (predefinito a 300), e l'equivalente di Gunicorn è: -t secondi (il valore predefinito è 30 !!). riferimenti: http://httpd.apache.org/docs/2.0/mod/mod_proxy.html#proxytimeout, http://gunicorn.org/configure.html#timeout – tutuDajuju