繁体   English   中英

超时使用Heroku rails应用程序并在S3上存储

[英]Timeouts with Heroku rails app with storage on S3

我有一个使用rails 3.2的应用程序,在heroku上运行并存储在S3上。 用户可以选择上传照片,使用carrierwave / MiniMagick处理各种尺寸的照片。

我们看到的问题是,有30%的时间,浏览器超时。 上传代码(最多可以上传四张图片)如下所示:我使用carrierwave_backgrounder来延迟图像操作,但我们仍然有超时。 这是相当小的图像 - 通常是150KB的PNG。

mount_uploader :image1, ImageUploader
process_in_background :image1

mount_uploader :image2, ImageUploader
process_in_background :image2

mount_uploader :image3, ImageUploader
process_in_background :image3

mount_uploader :image4, ImageUploader
process_in_background :image4

这是我们看到的错误

app[web.1]: Started POST "/offices" for 197.16.140.27 at 2013-05-23 23:32:18 +0000
app[web.1]: E, [2013-05-23T23:32:49.042937 #2] ERROR -- : worker=0 PID:10 timeout (31s > 30s), killing

瘦和独角兽都会发生同样的事情。

我所做的阅读表明我应该直接上传到S3,但随后图像操作被延迟,这对我来说是一个问题(延迟/复杂性)。 我应该做些什么呢?

John是正确的:当您直接上传到heroku时会发生这种情况。 在这里写了关于处理heroku上传的一些策略。

这是上传的常见问题,只能通过直接上传到S3并在完成后执行处理来解决。 您遇到的问题是用户连接速度,如果来自手机,那么与从快速互联网上的某人上传的同一文件相比,它需要花费30多秒的时间。 你根本没有做错任何事情,不管我害怕,不同的服务器都不会有任何影响。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM