2013-04-04 3 views
0

Я пытаюсь загрузить большой (> 500mb) файл с s3 с туманом. Я хотел бы проверить прогресс, но, похоже, он загружает файл несколько раз.S3 Прогресс чтения с Fog

Я использую:

connction = Fog::Storage.new(
    provider: 'AWS', 
    aws_access_key_id: key_id, 
    aws_secret_access_key: secret_key, 
    region: 'eu-west-1', 
) 

connection.get_object(bucket, obj_key) do |chunk, remaining_bytes, total_bytes| 
    file.write(chunk) 
    p "Writing file: #{remaining_bytes}/#{total_bytes} remaining" 
end 

И это, кажется, делает весь процесс несколько раз, почти скачивание всех данных, но, когда есть один мегабайт остался, он начинает загружать все заново!

Примерно через 4 петли он выдает ошибку:

negative argument (ArgumentError) (Excon::Errors::SocketError) 

Любой совет высоко оценили!

UPDATE: Gem версии:

excon (0.20.1) 
    fog (1.10.1) 
    builder 
    excon (~> 0.20) 
    formatador (~> 0.2.0) 
    mime-types 
    multi_json (~> 1.0) 
    net-scp (~> 1.1) 
    net-ssh (>= 2.1.3) 
    nokogiri (~> 1.5.0) 
    ruby-hmac 

ответ

0

Интересно, если это проблема с драгоценным камнем EXCON. Какую версию Excon, Fog и Ruby вы используете?

Возможно, вы также захотите повторить запуск сценария с EXCON_DEBUG = true. Надеюсь, вы получите лучшую информацию.

+0

Я делаю это сейчас согласно советам в https://github.com/fog/fog/issues/1736#issuecomment-15962298 –

+0

Добавлены варианты Gem. –

+0

Мой выход находится в https://github.com/fog/fog/issues/1736#issuecomment-15973230, но это не делает меня более ясными :( –

Смежные вопросы