Tôi đang sử dụng heroku để lưu trữ ứng dụng web với trọng tâm chính là lưu trữ video. Các video được lưu trữ thông qua vimeo pro và tôi đang sử dụng vimeo gem by matthooks để giúp xử lý quá trình tải lên. Tải lên các tác phẩm cho các tệp nhỏ, nhưng không cho các tệp lớn hơn (ví dụ: ~ 50mb).Cách tải các tệp lớn lên Heroku (đặc biệt là video)
Nhìn vào nhật ký heroku cho thấy tôi nhận được lỗi http 413, viết tắt của "Yêu cầu thực thể quá lớn". Tôi tin rằng điều này có thể phải làm với giới hạn mà heroku đặt lên các tệp tải lên (lớn hơn 30mb, according to this webpage). Vấn đề là mặc dù bất kỳ thông tin nào tôi có thể tìm thấy về chủ đề này dường như đã lỗi thời và xung đột (như trang này là claims there is no size limit). Tôi cũng không thể tìm thấy bất cứ điều gì trên trang web của heroku về điều này.
Tôi đã tìm kiếm trên google và tìm thấy một số trang có liên quan phần nào (one và two), nhưng không có giải pháp nào phù hợp với tôi. Hầu hết các trang mà tôi tìm thấy đều giải quyết việc tải các tệp lớn lên amazon s3, khác với những gì tôi đang cố gắng thực hiện.
Dưới đây là kết quả có liên quan của các bản ghi:
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
Không có lỗi khác trong các bản ghi. Đây là sản lượng duy nhất xuất hiện khi tôi cố gắng tải video lên quá lớn. Điều này có nghĩa rằng đây không phải là lỗi hết thời gian chờ hoặc sự cố vượt quá bộ nhớ được phân bổ cho mỗi dyno.
Heroku có thực sự đặt giới hạn về kích thước tải lên không? Nếu vậy, có cách nào để thay đổi giới hạn này không? Lưu ý rằng bản thân các tập tin không được lưu trữ trên các máy chủ của Heroku, chúng chỉ đơn thuần được truyền cho các máy chủ của vimeo.
Nếu vấn đề không phải là giới hạn về kích thước tải lên, có ai có ý tưởng về điều gì khác có thể xảy ra không?
Cảm ơn nhiều!
Theo như tôi biết, không có cách nào như vậy. Tôi phải tải trực tiếp lên S3. Bạn có thể tìm thấy một số cách để truyền video trực tiếp cho Vimeo, nhưng kết quả duy nhất tôi tìm thấy không phải là rất đáng khích lệ: http://vimeo.com/forums/topic:28113 – Qsario
Đáng chú ý, tôi vừa thử nghiệm tải một tệp 8.5MB lên ứng dụng Heroku của tôi, mất 3 phút và 15 giây (có, tôi có DSL). Tôi có 'web: gunicorn -t 60 -k" eventlet "-w 3 myapp.wsgi: application' trong' Procfile' của tôi. Nói cách khác, tôi đã tăng thời gian chờ lên 60 giây và ứng dụng của tôi sẽ cho phép tải lên mất hơn 3 phút. Tôi không chắc chắn lý do cho điều này, nhưng nó có một cái gì đó để làm với Dyno của tôi cho phép kết nối đồng thời. – orokusaki