我想做一些我认为简单的事情:
index_file
store_dir
store_dir
和在数据库中设置index_file
(我不需要将有关其他提取文件的任何内容保存到数据库中)正如我所发现的,由于Heroku的限制,这不是一件容易的事。这些文件将具有较大的大小(数百个MiB或几个GiB),因此如果可能,我不想从S3重新下载此文件。
我认为使用延迟作业或Resque可能有效,但我不确定如何做到这一点以及解决问题的最佳解决方案。
有没有人知道如何使用尽可能最低的资源来解决它?如果在Heroku上无法使用,我可以将CarrierWave更改为另一个上传者(Paperclip等)和我的托管服务提供商。
我还在考虑使用CloudFlare,这仍然可以正常工作吗?
感谢您的回答。
答案 0 :(得分:1)
基于this heroku support email,似乎/ tmp目录的大小很多。你只需要自己清理,所以Heroku作为一个平台不是问题。
有几篇文章可以帮助您解决问题:
https://github.com/jnicklas/carrierwave/wiki/How-to%3A-Make-Carrierwave-work-on-Heroku - 解释了如何配置应用程序以将/ tmp目录用作CarrierWave的缓存目录。请注意以下几行:
使用Rack :: Static,:urls => ['/ carrierwave'],:root => 'tmp'#添加这一行
这指示机架从/ tmp目录提供/ carrierwave / xzy(暂时用于存储图像)