2

クエリの負荷を最小限に抑える csv/excel エクスポート クエリをバックグラウンドで実行するための良いアイデアがあるかどうか疑問に思っていました。10k 以上の結果の場合、クエリが遅くなる可能性があります。

4

2 に答える 2

1

Sidekiqを使用することをお勧めします。これが私が思い描く方法です

  1. エクスポートボタンをクリックします
  2. SQL の /activerecord ジョブ全体を保持するメソッドをラップし、sidekiq ワーカー内に配置します。
  3. csv が生成されたら、ファイル システムで利用できるようにし、そこからダウンロードできるようにします。

これによる利点は、sidekiq が SQL クエリを高速化し、負荷を適切に分散するのに役立つことです。次に、長いクエリの読み込みに時間がかかり、ブラウザーで Excel/csv をストリーミングするため、ブラウザーのタイムアウトの問題が発生することはありません。

于 2013-03-04T22:26:25.450 に答える
0

これらの人気のあるバックグラウンドジョブライブラリをチェックしてください。これは一般的な問題です。

Resque

その他

RailsCasts

于 2013-03-04T21:53:24.220 に答える