Sha256: a205fcbe440696e933c39e7308e787f5d7e5652d1d667d2b3f1e7b8ed3c4a460

Contents?: true

Size: 799 Bytes

Versions: 2

Compression:

Stored size: 799 Bytes

Contents

module Entangler
  module Executor
    module Background
      module Master
        protected
        def start_remote_slave
          require 'open3'
          ignore_opts = @opts[:ignore].map{|regexp| "-i '#{regexp.inspect}'"}.join(' ')
          @remote_writer, @remote_reader, remote_err, @remote_thread = Open3.popen3("ssh -q #{@opts[:remote_user]}@#{@opts[:remote_host]} -p #{@opts[:remote_port]} -C \"source ~/.rvm/environments/default && entangler slave #{@opts[:remote_base_dir]} #{ignore_opts}\"")
          remote_err.close
        end

        def wait_for_threads
          super
          Process.wait @remote_thread[:pid] rescue nil
        end

        def kill_off_threads
          Process.kill("INT", @remote_thread[:pid])
          super
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
entangler-0.3.1 lib/entangler/executor/background/master.rb
entangler-0.3.0 lib/entangler/executor/background/master.rb