2

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

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

我正在考虑将图像存储在 rails 应用程序的 tmp 文件夹中,但我不知道在被删除之前会有多长时间......知道吗?

谢谢!

4

1 回答 1

2

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

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

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

于 2012-10-25T02:56:01.477 回答