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

slo*_*ype 1 ruby ruby-on-rails amazon-s3

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

S3Object.store("testme.mp4", open(file), 'blah', :access => :public_read)  
Run Code Online (Sandbox Code Playgroud)

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

"Timeout::Error: execution expired".  
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢,

SLothistype

and*_*orp 5

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

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

http.read_timeout = 300 # or something else higher
Run Code Online (Sandbox Code Playgroud)

我最初是从Pivotal Labs,Inc.那里得到的.他们非常受尊重,基本上都在说"这不是一个很好的解决方案,但是aws_s3 gem并没有更好地暴露任何东西."