Class: Jekyll::S3::Parallelism

Inherits:
Object
  • Object
show all
Defined in:
lib/jekyll-s3/parallelism.rb

Class Method Summary collapse

Class Method Details

.each_in_parallel_or_sequentially(items, &operation) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/jekyll-s3/parallelism.rb', line 4

def self.each_in_parallel_or_sequentially(items, &operation)
  if ENV['disable_parallel_processing']
    items.each do |item|
      operation.call item
    end
  else
    threads = items.map do |item|
      Thread.new(item) { |item|
        operation.call item
      }
    end
    threads.each { |thread| thread.join }
  end
end