lib/s3_website/parallelism.rb in s3_website-1.0.3 vs lib/s3_website/parallelism.rb in s3_website-1.1.0

- old
+ new

@@ -1,14 +1,15 @@ module S3Website class Parallelism - def self.each_in_parallel_or_sequentially(items, &operation) + def self.each_in_parallel_or_sequentially(items, config, &operation) if ENV['disable_parallel_processing'] items.each do |item| operation.call item end else - items.each_slice(DEFAULT_CONCURRENCY_LEVEL) { |items| + slice_size = config['concurrency_level'] || DEFAULT_CONCURRENCY_LEVEL + items.each_slice(slice_size) { |items| threads = items.map do |item| Thread.new(item) { |item| operation.call item } end @@ -17,8 +18,8 @@ end end private - DEFAULT_CONCURRENCY_LEVEL = 100 + DEFAULT_CONCURRENCY_LEVEL = 25 end end