我正在使用ffmpeg处理一些视频,然后使用aws_s3 gem将视频发送到S3。我使用以下代码:
S3Object.store("testme.mp4", open(file), 'blah', :access => :public_read)
一切都很好但是1GB及以上的文件我收到以下错误:
"Timeout::Error: execution expired".
这仅在ffmpeg处理完文件后才会发生。如果我自己发送文件而不进行处理,那么一切都很好。
有没有人遇到过类似的问题?
谢谢,
SLothistype
答案 0 :(得分:5)
我遇到了这个问题,不幸的是我不得不修补AWS :: S3 :: Connection :: create_connection方法,所以我可以增加read_timeout。
如果您自己实施该方法,则需要设置
http.read_timeout = 300 # or something else higher
我最初是从Pivotal Labs,Inc。发现的。他们非常受尊重,基本上都在说“这不是一个很好的解决方案,但是aws_s3 gem不能更好地暴露任何东西。”