2013-09-26 42 views
6

Tôi đang sử dụng kỳ lân trên Heroku. một trong những vấn đề tôi gặp phải là tải lên tệp. Chúng tôi sử dụng carrierwave để tải lên và về cơ bản, ngay cả đối với tệp có dung lượng khoảng 2MB, khi tải lên 50-60% thời gian, Unicorn hết giờ.Lỗi hết thời gian chờ trong khi đang tải lên một tệp

Chúng tôi không sử dụng lân khi kiểm tra cục bộ và tôi không gặp phải vấn đề gì với tệp lớn cục bộ (mặc dù các tệp được tải lên AWS bằng carrierwave, cũng như với dàn dựng sản xuất). Tuy nhiên, khi dàn dựng & máy chủ sản xuất, tôi thấy rằng chúng tôi sẽ hết thời gian chờ.

Bất kỳ chiến lược nào về khắc phục vấn đề này? Tôi không chắc tôi có thể tải tệp này lên một công việc bị trì hoãn hay không (vì tôi cần phải xác nhận với người dùng của mình rằng tệp đã thực sự được tải lên thành công).

Cảm ơn! Ringo

+0

Bạn có thể thử sử dụng lân ở địa phương không? –

Trả lời

0

Âm thanh như thời gian chờ của bạn được đặt quá thấp. Cấu hình kỳ lân của bạn trông như thế nào?

Xem https://devcenter.heroku.com/articles/rails-unicorn để có điểm xuất phát tốt.

+1

thời gian chờ kỳ lân của tôi là 15, tăng lên 30, nhưng không có sự khác biệt. Tôi muốn thiết kế một giải pháp không phụ thuộc vào việc tăng thời gian chờ. –

2

Nếu bạn đang tải các tệp lớn lên S3 thông qua Heroku, bạn không thể tránh được thời gian chờ hợp lý. Nếu ai đó quyết định tải lên một tệp lớn, nó sẽ hết thời gian chờ. Nếu mất hơn 30 giây để tải lên Heroku, chuyển sang S3 và xử lý, yêu cầu sẽ hết thời gian chờ. Vì lý do chính đáng, yêu cầu 30s chỉ là hiệu suất khan hiếm.

này bài đăng blog (và github repo) là rất hữu ích: http://pjambet.github.io/blog/direct-upload-to-s3/

Với nó, bạn sẽ có thể để có được trực tiếp-to-s3 tập tin tải lên làm việc. Bạn hoàn toàn tránh đánh Heroku cho phần lớn video tải lên. Sử dụng các lời gọi lại của jquery-fileupload, bạn có thể đăng lên ứng dụng của bạn sau khi tệp được tải lên thành công và xử lý nó trong nền bằng cách sử dụng delay_job. Xác nhận với người dùng của bạn rằng việc tải lên thành công là một vấn đề về ứng dụng mà bạn chỉ cần quan tâm.

+0

Xem thêm: http://stackoverflow.com/a/16341162/1546887 – Taavo

Các vấn đề liên quan