Estoy usando heroku para alojar una aplicación web con el objetivo principal de alojar videos. Los videos están alojados a través de vimeo pro, y estoy usando el vimeo gem by matthooks para ayudar a manejar el proceso de carga. La carga funciona para archivos pequeños, pero no para archivos más grandes (~ 50mb, por ejemplo).Cómo cargar archivos grandes en Heroku (particularmente videos)
Un vistazo a los registros de heroku muestra que estoy obteniendo el error http 413, que significa "Entidad de solicitud demasiado grande". Creo que esto podría tener que ver con un límite que heroku coloca en las cargas de archivos (más de 30mb, according to this webpage). El problema es que cualquier información que pueda encontrar sobre el tema parece estar desactualizada y en conflicto (como esta página que claims there is no size limit). Tampoco pude encontrar nada en el sitio de heroku sobre esto.
He buscado en google y encontré algunas páginas algo relevantes (one y two), pero ninguna solución me funcionó. La mayoría de las páginas que encontré se refieren a la carga de archivos de gran tamaño a Amazon s3, que es diferente de lo que estoy tratando de hacer.
Aquí está la salida correspondiente de los registros:
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
no hay otros errores en los registros. Este es el único resultado que aparece cuando intento subir un video que es demasiado grande. Lo que significa que esto no es un error de tiempo de espera o un problema al exceder la memoria asignada por dyno.
¿Heroku realmente impone un límite en los tamaños de carga? Si es así, ¿hay alguna forma de cambiar este límite? Tenga en cuenta que los archivos en sí no se están almacenando en los servidores de heroku, simplemente se pasan a los servidores de vimeo.
Si el problema no es el límite en los tamaños de carga, ¿alguien tiene una idea de qué más podría estar yendo mal?
Muchas gracias!
Por lo que sé, no hay tal manera. Tuve que subir directamente a S3. Es posible que puedas encontrar la forma de pasar los videos directamente a Vimeo, pero el único resultado que encontré no fue muy alentador: http://vimeo.com/forums/topic:28113 – Qsario
Merece la pena señalar, acabo de probar cargando un archivo de 8.5MB a mi aplicación Heroku, que tardó 3 minutos y 15 segundos (sí, tengo DSL). Tengo 'web: gunicorn -t 60 -k" eventlet "-w 3 myapp.wsgi: application' en mi' Procfile'. En otras palabras, aumenté mi tiempo de espera a 60 segundos y mi aplicación permitirá que una carga demore más de 3 minutos. No estoy seguro de la razón para esto, pero tiene algo que ver con que mi Dyno permita conexiones simultáneas. – orokusaki