Я использую библиотеку ruby aws/s3 для извлечения файлов из Amazon S3. Я передаю объект и записываю его в файл в соответствии с документацией (с отладкой каждые 100 фрагментов для подтверждения прогресса)
Это работает для небольших файлов, но случайным образом зависает при загрузке больших (150 МБ) файлов на VPS Ubuntu. Извлечение тех же файлов (150 МБ) с моего Mac при гораздо более медленном соединении работает нормально.
Когда он зависает, ошибка не возникает, а последней строкой отладочного вывода является «Готовый фрагмент». Я видел, как он записывает от 100 до 10 000 фрагментов перед зависанием.
Кто-нибудь сталкивался с этим или есть идеи, в чем может быть причина?
Спасибо
Код, который висит:
i=1
open(local_file, 'w') do |f|
AWS::S3::S3Object.value(key, @s3_bucket) do |chunk|
puts("Writing chunk #{i}")
f.write chunk.read_body
puts("Finished chunk #{i}")
i=i+1
end
end