Я хочу оптимизировать загрузку файла на сервер - как это лучше всего сделать? - PullRequest
0 голосов
/ 14 октября 2010

У меня есть приложение rails, которое выполняет следующий (на данный момент линейный) процесс:

(1) Пользователь загружает файл через HTTP и стандартную форму загрузки на стандартной странице HTML (2) Файлзагружается на сервер Apache (тот же сервер, на котором размещено приложение) (3) Сервер загружает файл в службу удаленного хранения (вызовите это хранилище 1) (4) Когда (3) выполнено, пользователь автоматически переходит ккакая-то другая страница

Во время загрузки файла пользователь видит индикатор выполнения и т. д.

Теперь вопрос: - (1) -> (4) для больших файлов требуется довольно много времени (потому что процессы (2) и (3) занимают некоторое время) и браузер ожидает ответа сервера, прежде чем перейти к (4) (то есть ответ от сервера, указывающий, что завершение (3) завершено).

Есть ли способ ускорить (1) -> (4).Я не против, если файл загружается в хранилище 1 и на сервер в фоновом режиме, в то время как пользователю разрешено просматривать другую страницу на сайте.

Теперь дополнительная мысль - сервер, к которому файлзагружается на сервер (давайте назовем его сервером 1) и может отличаться от хост-сервера (сервера 2) при необходимости.

Любые идеи приветствуются.

1 Ответ

1 голос
/ 14 октября 2010

Как только файл загружен на сервер, переместите его дальше. Позвольте самому серверу обработать перемещение файла в «хранилище 1», используя что-то вроде отложенного задания, а затем уведомить пользователя (используя систему, например электронную почту), что файл теперь доступен для загрузки.

...