Я использую сервис Amazon S3 для загрузки различных каталогов (и файлов внутри) в разные ковши (каталог -> ведро). Я кодирую в Ruby, и я использую lib http://amazon.rubyforge.org.Параллельная загрузка в Amazon S3 с использованием Ruby и amazon.rubyforge.org
Файлы небольшие (около 20 КБ).
Я хотел бы, чтобы загрузить каталоги параллельно (с использованием большого количества потоков), но я должен использовать синхронизацию по S3Object.store
@mutex.synchronize do
S3Object.store(s3_obj_name, open(image_name), bucket_name)
end
Если я не использую функцию синхронизации я получаю Net::HTTPBadResponse
исключение! Итак, с синхронизацией я потерял преимущества использования параллельного программирования.
У вас есть некоторые идеи о том, как добиться успеха при параллельной загрузке?
Спасибо, Alessandro DS