class SSHKit::Runner::Sequential

Attributes

wait_interval[RW]

Public Class Methods

new(hosts, options = nil, &block) click to toggle source
Calls superclass method SSHKit::Runner::Abstract.new
# File lib/sshkit/runners/sequential.rb, line 8
def initialize(hosts, options = nil, &block)
  super(hosts, options, &block)
  @wait_interval = @options[:wait] || 2
end

Public Instance Methods

execute() click to toggle source
# File lib/sshkit/runners/sequential.rb, line 13
def execute
  last_host = hosts.pop

  hosts.each do |host|
    run_backend(host, &block)
    sleep wait_interval
  end

  unless last_host.nil?
    run_backend(last_host, &block)
  end
end

Private Instance Methods

run_backend(host, &block) click to toggle source
# File lib/sshkit/runners/sequential.rb, line 27
def run_backend(host, &block)
  backend(host, &block).run
rescue StandardError => e
  e2 = ExecuteError.new e
  raise e2, "Exception while executing #{host.user ? "as #{host.user}@" : "on host "}#{host}: #{e.message}"
end