Class: SSHKit::Custom::Runner::Group

Inherits:
Abstract
  • Object
show all
Defined in:
lib/sshkit/custom/runner/group.rb

Overview

A runner which executes all commands in groups.

Instance Attribute Summary collapse

Attributes inherited from Abstract

#backends, #options

Instance Method Summary collapse

Methods inherited from Abstract

create_runner, #initialize, #send_cmd

Constructor Details

This class inherits a constructor from SSHKit::Custom::Runner::Abstract

Instance Attribute Details

#group_size=(value) ⇒ Object



7
8
9
# File 'lib/sshkit/custom/runner/group.rb', line 7

def group_size=(value)
  @group_size = value
end

Instance Method Details

#apply_block_to_bcks(&block) ⇒ Object

Executes all commands in batches of size :group_size



11
12
13
14
15
16
17
18
19
# File 'lib/sshkit/custom/runner/group.rb', line 11

def apply_block_to_bcks(&block)
  backends.each_slice(group_size).map do |group_backends|

    exec_parallel(group_backends, &block)

    do_wait

  end.flatten
end