Rails /如何在后台运行csv导出以避免查询速度慢

时间:2013-03-04 21:34:36

标签: ruby-on-rails

我想知道是否有人在后台运行csv / excel导出查询有任何好主意,这将最大限度地减少查询负载。对于10k +的结果可能导致查询速度慢。

2 个答案:

答案 0 :(得分:1)

我建议您使用Sidekiq。这是我设想的方式

  1. 您点击导出按钮
  2. 包装保存整个sql / activerecord作业的方法,并将其放在sidekiq worker中。
  3. 生成csv后,可以在文件系统中使用,并且有人可以从那里下载。
  4. 这样做的好处是sidekiq将帮助您紧固SQL查询并正确分配负载,其次您不会遇到浏览器超时问题,因为长时间查询需要花时间在浏览器上加载和流式传输excel / csv。

答案 1 :(得分:0)

查看这些流行的后台作业库。这是一个常见问题。

Resque

Others

RailsCasts