Ruby on rails 3 Heroku花太多时间上传到S3(carrierwave和fog)

Ruby on rails 3 Heroku花太多时间上传到S3(carrierwave和fog),ruby-on-rails-3,heroku,amazon-s3,carrierwave,fog,Ruby On Rails 3,Heroku,Amazon S3,Carrierwave,Fog,我有一个Rails应用程序,当用户从web调用一个操作时,heroku应用程序生成一个随机图像,将该图像上传到S3,并将该图像的公共url(存储在S3中)返回给用户 “将图像上传到S3”需要很多时间,一个27kb的文件需要20秒,这是不可能的。。。我真的不知道如何解决这个问题,因为它正在工作,它正在上传到s3,但是走得太远了 我想把rails应用程序中的图像存储在tmp文件夹中,但我不知道在删除之前会有多长时间。。。有什么想法吗 谢谢 如果图像不是临时的,则不应将其存储在Heroku上,因为当d

我有一个Rails应用程序,当用户从web调用一个操作时,heroku应用程序生成一个随机图像,将该图像上传到S3,并将该图像的公共url(存储在S3中)返回给用户

“将图像上传到S3”需要很多时间,一个27kb的文件需要20秒,这是不可能的。。。我真的不知道如何解决这个问题,因为它正在工作,它正在上传到s3,但是走得太远了

我想把rails应用程序中的图像存储在tmp文件夹中,但我不知道在删除之前会有多长时间。。。有什么想法吗


谢谢

如果图像不是临时的,则不应将其存储在Heroku上,因为当dyno处于非活动状态时,它们将被删除

我认为您应该研究将上传到s3的内容移动到异步后台作业。有几个可用的选项:DelayedJob、Resque和Sidekiq是一些比较流行的后台处理宝石。您还必须在Heroku上添加一名工作人员来处理您的后台工作


通过将上传移动到后台作业,用户将不会有太长的等待时间,因为图像上传过程将单独完成。

这是一个很好的解决方案。。。我还改变了S3的区域,速度提高了很多。谢谢…Andres,将上传更改为后台作业可以缩短上传时间吗?从技术上讲,它不应该改变上传时间。我也遇到了同样的问题。。。您使用的是哪个地区?顺便说一句,如果您试图上载更大的文件,您可能会对直接上载感兴趣: