class ForemanTasksCore::Runner::CommandRunner
Public Instance Methods
close()
click to toggle source
# File lib/foreman_tasks_core/runner/command_runner.rb, line 26 def close close_io end
initialize_command(*command)
click to toggle source
# File lib/foreman_tasks_core/runner/command_runner.rb, line 7 def initialize_command(*command) @command_out, @command_in, @command_pid = PTY.spawn(*command) end
refresh()
click to toggle source
# File lib/foreman_tasks_core/runner/command_runner.rb, line 11 def refresh return if @command_out.nil? ready_outputs, * = IO.select([@command_out], nil, nil, 0.1) if ready_outputs if @command_out.nread > 0 lines = @command_out.read_nonblock(@command_out.nread) else close_io Process.wait(@command_pid) publish_exit_status($CHILD_STATUS.exitstatus) end publish_data(lines, 'stdout') if lines && !lines.empty? end end
Private Instance Methods
close_io()
click to toggle source
# File lib/foreman_tasks_core/runner/command_runner.rb, line 32 def close_io @command_out.close if @command_out && !@command_out.closed? @command_out = nil @command_in.close if @command_in && !@command_in.closed? @command_in = nil end