From 4a8f4f9d36985338f8e92fdc194da9cbf6bbc8b3 Mon Sep 17 00:00:00 2001 From: leefaisonr Date: Wed, 5 Jul 2023 09:53:34 -0400 Subject: [PATCH] Try using threads for aws transfer Co-authored-by: Anna Headley --- data/copy_images.rb | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/data/copy_images.rb b/data/copy_images.rb index fe58328d..db48d243 100755 --- a/data/copy_images.rb +++ b/data/copy_images.rb @@ -8,12 +8,14 @@ destination = ARGV[1] puts "Copying files from #{source} to #{destination}" files = Dir["#{source}/**/*.tiff"] -files.each do |file_name| - puts file_name - file_parts = file_name.split('/') - file_parts[-1] = file_parts[-1].chop - s3_safe_file_name = "imagecat-#{file_parts[-4..].join('-')}" - `aws s3 cp #{file_name} #{destination}/#{s3_safe_file_name}` -end +files.map do |file_name| + Thread.new do + puts file_name + file_parts = file_name.split('/') + file_parts[-1] = file_parts[-1].chop + s3_safe_file_name = "imagecat-#{file_parts[-4..].join('-')}" + `aws s3 cp #{file_name} #{destination}/#{s3_safe_file_name}` + end +end.each(&:join) # "/Users/faisonr/Downloads/imagecat-images-practice-1/input/disk14/**/*.tiff"