Ric*_*aca 9 streaming ruby-on-rails heroku amazon-s3
我有一个关于托管大型动态生成资产和Heroku的问题.
我的应用程序将提供其基础数据子集的批量下载,其中包含每24小时生成一次的大文件(> 100 MB).如果我在服务器上运行,我只需将文件写入公共目录.
但据我所知,Heroku不可能做到这一点./ tmp目录可以写入,但是文件的保证生命周期似乎是根据一个请求 - 响应周期而不是后台作业来定义的.
我想用S3来托管下载文件.在S3宝石不支持流上载,但仅适用于已在本地文件系统中存在的文件.看起来内容大小需要预先知道,这在我的情况下是不可能的.
所以这看起来像一个捕获22.我试图避免在上传到S3时在内存中创建一个巨大的字符串,但S3仅支持本地文件系统上已存在的文件的流上传.
鉴于我无法写入本地文件系统的Rails应用程序,如何在不在内存中创建大字符串的情况下提供每天生成的大文件?
tei*_*ich 10
${RAILS_ROOT}/tmp(不是/ tmp,它在你的应用程序目录中)持续你的过程持续时间.如果您正在运行背景DJ,则TMP中的文件将持续该过程的持续时间.
实际上,文件将持续更长时间,我们说您不能保证可用性的原因是tmp不在服务器之间共享,并且每个作业/进程可以基于云负载在不同的服务器上运行.作为工作的一部分,您还需要确保删除文件.
- 另一名Heroku员工
| 归档时间: |
|
| 查看次数: |
2834 次 |
| 最近记录: |