class SSHKit::Chunky::Runner::Chunks
Attributes
chunks_count[W]
Public Instance Methods
execute()
click to toggle source
# File lib/sshkit/chunky/runner/chunks.rb, line 7 def execute each_chunk(hosts).map do |group_hosts| SSHKit::Runner::Parallel.new(group_hosts, &block).execute sleep wait_interval end.flatten end
Private Instance Methods
chunks_count()
click to toggle source
# File lib/sshkit/chunky/runner/chunks.rb, line 34 def chunks_count @chunks_count || options[:count] || 2 end
each_chunk(array)
click to toggle source
# File lib/sshkit/chunky/runner/chunks.rb, line 16 def each_chunk(array) return array.map { |item| [item] } if array.size <= chunks_count division = array.size.div chunks_count modulo = array.size % chunks_count groups = [] start = 0 chunks_count.times do |index| length = division + (modulo > 0 && modulo > index ? 1 : 0) groups << array.slice(start, length) start += length end groups end