2013-09-06 1 views
-1

У меня есть метод, который вызывает задание с задержкой для создания zip-файлов и сохраняет их в определенной папке. Теперь я знаю, что когда клиент нажимает на кнопка zip загрузки, этот запрос будет потерян, так как процесс будет отправлен на фоновое задание. Поэтому, когда создается zip, я не могу использовать send_file/send_data.но хочу, чтобы я использовал send_file для отправки его пользователю, следовательно, после как выполнить дальнейшую реализацию логики для отправки этого файла пользователю. Должен ли я проверить, сгенерирован ли файл, а затем отправить его (используя какой-то повторяющийся вызов метода) или есть ли другой способ достичь этого? Я рубин 1.9 и рельсы 2.3.вызов метода проверки, существует ли файл после выполнения отложенного задания -RAILS

ответ

0

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

Есть несколько драгоценных камней, которые обрабатывают некоторые проверки для вас, или вы можете просто использовать некоторый javascript для вызова действия контроллера, чтобы проверить результаты работы.

например.

$(document).ready(
    function(){ 
    setInterval(function(){ 
     $('#div_id').load('/my_controller/action_to_look_for_result'); 
    }, 5000); 
}); 
+0

хорошо, даже если у меня есть это решение .. но что-то с серверной стороны было бы более точным. Я принимаю этот ответ.thanks erica – Milind

Смежные вопросы