Chr*_*rus 4 ruby-on-rails ruby-on-rails-4
我有一个包含大量行的大型数据库,用户在数据库上生成查询,然后想要导出信息(当前正在执行CSV).问题是,随着我们的数据库不断增长,查询需要很长时间才能下载尝试超时.
如何在创建时随时设置Rails来下载文件?这些请求并不常见,所以我不介意对服务器的严厉打击,但它们确实需要是动态的(我不能提前生成文件).
我找到了很多关于如何在Rails中下载文件的网站,但它们要么处理已经创建的文件,要么处理那些没有时间创建的小文件.这些文件可能非常大(20MB +),因此需要"流式"下载,但我找不到某种方法.
我建议使用后台工作服务,如延迟工作或sidekiq for rails,
告诉您的用户他们的报告很快就会准备就绪,并将其安排到后台工作人员服务,在报告生成工作结束时向用户发起通知(websockets,email,...),然后允许用户下载从您使用的任何存储中生成的文件 - 本地,S3等
与流媒体大型响应相比,这有以下好处:
| 归档时间: |
|
| 查看次数: |
1619 次 |
| 最近记录: |