-1

遅延ジョブを呼び出して zip ファイルを作成し、特定のフォルダーに保存する方法があります。クライアントがダウンロード zip ボタンをクリックすると、プロセスがバックグラウンド ジョブに送信されるため、この要求が失われることがわかりました。 .zip が生成されると、send_file/send_data.now を使用できません。send_file を使用してユーザーに送信したいので、遅延ジョブが完了した後、そのファイルをユーザーに送信するロジックをさらに実装するにはどうすればよいですか? .ファイルが生成されているかどうかを確認してから送信する必要がありますか(繰り返しメソッド呼び出しを使用して)、またはこれを達成する他の方法はありますか???私は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 に答える