我有一个关于托管大型动态生成资产和Heroku的问题.
我的应用程序将提供其基础数据子集的批量下载,其中包含每24小时生成一次的大文件(> 100 MB).如果我在服务器上运行,我只需将文件写入公共目录.
但据我所知,Heroku不可能做到这一点./ tmp目录可以写入,但是文件的保证生命周期似乎是根据一个请求 - 响应周期而不是后台作业来定义的.
我想用S3来托管下载文件.在S3宝石不支持流上载,但仅适用于已在本地文件系统中存在的文件.看起来内容大小需要预先知道,这在我的情况下是不可能的.
所以这看起来像一个捕获22.我试图避免在上传到S3时在内存中创建一个巨大的字符串,但S3仅支持本地文件系统上已存在的文件的流上传.
鉴于我无法写入本地文件系统的Rails应用程序,如何在不在内存中创建大字符串的情况下提供每天生成的大文件?