将大文件上传到s3时,Heroku超时

Adr*_*uio 11 ruby-on-rails heroku amazon-s3 refinerycms fog

基于在heroku上部署的RefineryCMS 1.0.8我的应用程序出了问题.

Heroku的请求超时为30秒.当通过RefineryCMS管理员上传文件> 4MO时,执行请求有时需要30秒以上(主要是因为将文件上传到s3所需的时间).

在这种情况下,dyno将被"冻结"并且在大约30分钟内没有响应(在此期间的每个请求最终都是H12错误请求超时).这种行为正是本讨论中最后一条消息中描述christos的原因

其他讨论heroku文档 :"直接上传到S3是首选的方法,如果您正在处理大于4MB的文件上传.想法是跳过你的dyno跳转,直接从最终用户浏览器建立连接到S3."

直接上传到S3应该是解决方案,但我很难用RefineryCMS/Dragonfly/Fog正确实现它.我不确定是否可以在没有对这些工具进行大的修改的情况下,我想知道是否有替代方案.

谢谢你的帮助

Nei*_*ton 5

并不真地。Heroku 超时是您需要解决的一成不变的事情。直接上传到 S3 是唯一的选择,需要某种上传后处理。

有一些解决方案,例如CarrierWaveDirect,但我不知道与 Refinery 一起使用会有多容易。