Sto utilizzando heroku per ospitare un'applicazione Web con l'obiettivo principale di ospitare video. I video sono ospitati da vimeo pro e sto utilizzando lo vimeo gem by matthooks per gestire il processo di caricamento. Il caricamento funziona per file di piccole dimensioni, ma non per quelli più grandi (~ 50mb, ad esempio).Come caricare file di grandi dimensioni su Heroku (in particolare video)
Uno sguardo ai registri di heroku mostra che sto ricevendo l'errore http 413, che sta per "Richiesta Entità troppo grande". Credo che questo potrebbe avere a che fare con un limite che heroku pone sui file caricati (maggiore di 30mb, according to this webpage). Il problema però è che qualsiasi informazione che posso trovare sull'argomento sembra essere obsoleta e in conflitto (come questa pagina che claims there is no size limit). Non sono riuscito a trovare nulla sul sito di heroku a riguardo.
Ho cercato su google e ho trovato alcune pagine piuttosto rilevanti (one e two), ma nessuna soluzione ha funzionato per me. La maggior parte delle pagine che ho trovato riguardano il caricamento di file di grandi dimensioni su amazon s3, che è diverso da quello che sto cercando di fare.
Ecco la relativa uscita dei tronchi:
2012-07-18T05:13:31+00:00 heroku[nginx]: 152.3.68.6 - - [18/Jul/2012:05:13:31 +0000]
"POST /videos HTTP/1.1" 413 192 "http://neoteach.com/components/19" "Mozilla/5.0
(Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1" neoteach.com
Non ci sono altri errori nei log. Questo è l'unico output che appare quando provo a caricare un video troppo grande. Ciò significa che questo non è un errore di timeout o un problema con il superamento della memoria assegnata per dyno.
Does heroku pone davvero un limite alle dimensioni di upload? Se è così, c'è un modo per cambiare questo limite? Si noti che i file stessi non vengono memorizzati sui server di heroku, vengono semplicemente trasmessi ai server di vimeo.
Se il problema non è limitato alle dimensioni di caricamento, qualcuno ha un'idea di cos'altro potrebbe andare storto?
Grazie mille!
Per quanto ne so, non esiste un modo. Ho dovuto caricare direttamente su S3. Potresti riuscire a trovare un modo per passare i video direttamente a Vimeo, ma l'unico risultato che ho trovato non è stato molto incoraggiante: http://vimeo.com/forums/topic:28113 – Qsario
Degno di nota, ho appena provato caricamento di un file di 8,5 MB nella mia app di Heroku, che ha richiesto 3 minuti e 15 secondi (sì, ho DSL). Ho 'web: gunicorn -t 60 -k" eventlet "-w 3 myapp.wsgi: application' nel mio' Procfile'. In altre parole, ho aumentato il timeout a 60 secondi e la mia app consentirà un caricamento di più di 3 minuti. Non sono sicuro del motivo per questo, ma ha qualcosa a che fare con il mio Dyno che consente connessioni simultanee. – orokusaki