module Entangler::Executor::Background::Master

Protected Instance Methods

kill_off_threads() click to toggle source
Calls superclass method
# File lib/entangler/executor/background/master.rb, line 31
def kill_off_threads
  Process.kill('INT', @remote_thread[:pid])
  super
end
start_remote_slave() click to toggle source
# File lib/entangler/executor/background/master.rb, line 11
def start_remote_slave
  logger.info('Starting - Entangler on remote')
  ignore_opts = @opts[:ignore].map { |regexp| "-i '#{regexp.inspect}'" }.join(' ')
  entangler_cmd = "entangler slave #{@opts[:remote_base_dir]} #{ignore_opts}"
  ssh_cmd = generate_ssh_command("source ~/.rvm/environments/default && #{entangler_cmd}")
  full_cmd = @opts[:remote_mode] ? ssh_cmd : entangler_cmd

  @remote_writer, @remote_reader, remote_err, @remote_thread = Open3.popen3(full_cmd)
  remote_err.close
end
wait_for_threads() click to toggle source
Calls superclass method
# File lib/entangler/executor/background/master.rb, line 22
def wait_for_threads
  super
  begin
    Process.wait @remote_thread[:pid]
  rescue StandardError
    nil
  end
end