AWS_S3 ruby​​ gem超时错误执行已过期

时间:2011-12-22 21:18:55

标签: ruby-on-rails ruby amazon-s3

我正在使用ffmpeg处理一些视频,然后使用aws_s3 gem将视频发送到S3。我使用以下代码:

S3Object.store("testme.mp4", open(file), 'blah', :access => :public_read)  

一切都很好但是1GB及以上的文件我收到以下错误:

"Timeout::Error: execution expired".  

这仅在ffmpeg处理完文件后才会发生。如果我自己发送文件而不进行处理,那么一切都很好。

有没有人遇到过类似的问题?

谢谢,

SLothistype

1 个答案:

答案 0 :(得分:5)

我遇到了这个问题,不幸的是我不得不修补AWS :: S3 :: Connection :: create_connection方法,所以我可以增加read_timeout。

如果您自己实施该方法,则需要设置

http.read_timeout = 300 # or something else higher

我最初是从Pivotal Labs,Inc。发现的。他们非常受尊重,基本上都在说“这不是一个很好的解决方案,但是aws_s3 gem不能更好地暴露任何东西。”