Ho riscontrato un problema con la mia applicazione basata su RefineryCMS 1.0.8 distribuito su heroku.Timeout di Heroku durante il caricamento di file di grandi dimensioni su s3
Heroku ha un timeout di richiesta di 30 secondi. Durante il caricamento di un file> 4MO attraverso l'amministratore RefineryCMS, a volte occorrono più di30 secondi per eseguire la richiesta (principalmente a causa del tempo necessario per caricare il file su s3).
In questo caso, il banco sarà "congelato" e non risponde per circa 30 minuti (ogni richiesta in questo momento termina con fino a un timeout di richiesta errore H12). Questo comportamento è esattamente quello che descrivono Christos l'ultimo messaggio in this discussion
Da questo other discussion e the heroku documentation : "Carica diretto al S3 è l'approccio preferito se siete lavorare con upload di file più grandi di 4 MB L'idea è. per saltare il salto al tuo banco di prova, effettuando una connessione dal browser dell'utente finale direttamente da a S3. "
Il caricamento diretto su S3 dovrebbe essere la soluzione ma sembra difficile per implementarlo correttamente con RefineryCMS/Dragonfly/Fog. Non sono sicuro che sia possibile senza grandi modifiche in questi strumenti e mi chiedo se esiste un'alternativa.
Grazie per il vostro aiuto
Non è impostato su pietra. Se si utilizza una soluzione evented (ad esempio, Eventlet), è possibile impostare il timeout più alto (ho appena impostato il mio a 60 secondi e trascorso 48 secondi con successo caricando una foto nella mia applicazione), e Heroku non si preoccuperà, perché è non- il blocco. –