タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

testとrails3に関するniseissaのブックマーク (1)

  • rails3.1で大きいデータ(csv等)をストリーミングで出力する方法 - odeの開発メモ日記

    はじめに 管理画面等で膨大なデータをcsvで落としたい時等に そのままDBから文字列を作って返すと反応がないままタイムアウトになると思います。(なんせ全部メモリに落とすのだから) こういう場合の回避方法(2パターン) db等にリクエストをキューイングしておきバッチで処理してzipに圧縮しておく。 サーバーにはお行儀がいいお作法。ただし工数がかかる。 1000件等の細かい単位にしてsqlを発行してストリーミングで出力する。常にブラウザにデータが流れるためタイムアウトしない。 工数少なめ。ただしサーバーに通信しっぱなしになるのでサーバーの同時リクエスト数をいつぶす。管理画面等の一部利用者のみなら問題ないでしょう。 今回2の方法をrails3.1で行う文献が見つからなかったので調べました。 サンプル 1秒おきにtest1,test2..test5のように出力されます。 class TestCo

    rails3.1で大きいデータ(csv等)をストリーミングで出力する方法 - odeの開発メモ日記
  • 1