ブラウザ上から、/repeatにアクセスし、repeatコントローラーを通って、以下の様に、コンソールに1から10までを60秒毎に吐きだす処理をしたいです。
repeatコントローラー↓
def repeat num = 1 num.each do |n| puts num sleep(60) num = num + 1 end end
しかし、これでは、1回のリクエストで60秒*10回=600秒かかってしまいタイムアウト(?)的なのが起きてしまい、ログを確認すると、もう一度リクエストが送られているようです。
コンソール上では、[0,1,2,3・・・・・9,10]となってほしいのが、[0,0,1,1,2,2,3・・・・・9,9,10,10]の様な感じになってしまっています。
これを解決するのはどうしたらいいでしょうか?
理想は、「一度のリクエストが即自に送られ、ほかの画面などを観ている時に、ゆっくり実行されて行く」という形なのですが可能でしょうか?