上传时Carrierwave和Imagemagick超时

时间:2013-06-04 18:28:26

标签: ruby-on-rails ruby-on-rails-3.2 imagemagick carrierwave rmagick

当用户上传大图像(800 xx @ 100kb +)时,我在日志中看到55ms内已完成的500内部服务器错误。

我想知道是否有任何方法可以在我的Rails应用程序中将超时设置为更高的设置,或者如果存在Carrierwave配置,我可以设置为缓慢的用户连接。

# Error log
Completed 500 Internal Server Error in 55ms

Magick::FatalImageMagickError (time limit exceeded `jibberish' @ fatal/cache.c/GetImagePixelCache/2180):
  app/controllers/images_controller.rb:5:in `new'
  app/controllers/imagess_controller.rb:5:in `create'

该应用程序停止响应,我必须重新启动它才能再次运行。不幸的是,如果尝试上传其他图片,则会遇到同样的问题。

1 个答案:

答案 0 :(得分:1)

你正在上传应用程序中的图像吗?通常最好的做法是使用像amazon s3这样的外部文件数据库,记住rails一次只能处理一个请求,除非你使用的是独角兽或其他东西,所以我不认为你可以延长那个超时时间,也许你可以用一个延迟工作或其他什么,但我不认为这是一个很好的做法,这里是一个railscasts插曲我觉得有用: http://railscasts.com/episodes/383-uploading-to-amazon-s3