Я использую heroku для размещения веб-приложения, основное внимание в котором уделяется размещению видео. Видео размещаются через vimeo pro, и я использую vimeo gem от matthooks, чтобы справиться с процесс загрузки. Загрузка работает для небольших файлов, но не для больших (например, ~50 МБ).
Просмотр журналов heroku показывает, что я получаю ошибку http 413, что означает «Слишком большой объект запроса». Я полагаю, что это может быть связано с ограничением, которое heroku устанавливает для загрузки файлов (более 30 МБ, согласно этой веб-странице). Однако проблема заключается в том, что любая информация, которую я могу найти по этому вопросу, кажется устаревшей и противоречивой (например, эта страница, которая утверждает, что ограничений по размеру нет). Я также не мог найти ничего на сайте heroku по этому поводу.
Я поискал в Google и нашел несколько релевантных страниц (одну и два), но нет решений, которые работал на меня. Большинство страниц, которые я нашел, связаны с загрузкой больших файлов на amazon s3, что отличается от того, что я пытаюсь сделать.
Вот соответствующий вывод журналов:
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
Других ошибок в журналах нет. Это единственный вывод, который появляется, когда я пытаюсь загрузить слишком большое видео. Это означает, что это не ошибка тайм-аута или проблема с превышением выделенной памяти на дино.
Действительно ли heroku ограничивает размер загрузки? Если да, то есть ли способ изменить этот лимит? Обратите внимание, что сами файлы вообще не хранятся на серверах heroku, они просто передаются на серверы vimeo.
Если проблема не в ограничении размера загрузки, кто-нибудь знает, что еще может пойти не так?
Большое спасибо!
web: gunicorn -t 60 -k "eventlet" -w 3 myapp.wsgi:application
в моемProcfile
. Другими словами, я увеличил время ожидания до 60 секунд, и мое приложение позволяет загружать файлы более 3 минут. Я не уверен в причине этого, но это как-то связано с тем, что мой Dyno разрешает одновременные соединения. - person orokusaki   schedule 04.11.2013