-1

我有一种方法可以调用延迟作业来创建 zip 文件并将它们存储在特定文件夹中。现在我知道当客户端单击下载 zip 按钮时,此请求将丢失,因为进程将被发送到后台作业.所以当 zip 生成时我不能使用 send_file/send_data .我应该检查文件是否生成然后发送它(使用一些重复的方法调用)还是有其他方法可以实现这一点???我是 ruby​​ 1.9 和 rails 2.3。

4

1 回答 1

0

如果您不想让用户等待延迟作业完成来做其他事情,那么您必须定期检查延迟作业(或生成的 zip 文件)的完成情况。

有一些 gem 可以为您处理一些检查,或者您可以使用一些 javascript 来调用控制器操作来检查作业结果。

例如

$(document).ready(
  function(){
    setInterval(function(){
      $('#div_id').load('/my_controller/action_to_look_for_result');
    }, 5000);
});
于 2013-09-06T09:51:26.003 回答