class CapistranoMulticonfigParallel::ChildProcessStatus
class that is used to execute the capistrano tasks and it is invoked by the celluloid worker
Attributes
show_bundler[RW]
Public Class Methods
new(process_runner, job, command, options={})
click to toggle source
Calls superclass method
CapistranoMulticonfigParallel::RunnerStatus::new
# File lib/capistrano_multiconfig_parallel/classes/child_process_status.rb, line 8 def initialize(process_runner, job, command, options={}) super(process_runner, job, command, options) @show_bundler = true end
Public Instance Methods
async_exception_handler(*data)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/child_process_status.rb, line 55 def async_exception_handler(*data) log_to_file "Child process for worker #{@job_id} async_exception_handler disconnected due to error #{data.inspect}" io_callback('stderr', data) @exit_status = 1 end
io_callback(io, data)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/child_process_status.rb, line 65 def io_callback(io, data) log_to_worker(data, io) end
on_exit(status)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/child_process_status.rb, line 49 def on_exit(status) log_to_file "Child process for worker #{@job_id} on_exit disconnected due to error #{exit_status.inspect}" print_error_if_exist @exit_status = status.exitstatus end
on_input_stdin(data)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/child_process_status.rb, line 22 def on_input_stdin(data) io_callback('stdin', data) end
on_read_stderr(data)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/child_process_status.rb, line 32 def on_read_stderr(data) @job.save_stderr_error(data) if development_debug? io_callback('stderr', data) end
on_read_stdout(data)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/child_process_status.rb, line 26 def on_read_stdout(data) @show_bundler = false if data.to_s.include?("The Gemfile's dependencies are satisfied") || data.to_s.include?("Bundle complete") @actor.async.update_machine_state(truncate(data, CapistranoMulticonfigParallel::ApplicationHelper::DEFAULT_TEXT_LENGTH), :bundler => true) if @show_bundler == true && data.strip.present? && data.strip != '.' io_callback('stdout', data) end
on_size_limit()
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/child_process_status.rb, line 43 def on_size_limit log_to_file "Child process for worker #{@job_id} on_size_limit disconnected" @did_size_limit = true @callback.call(self) if @expect_size_limit end
on_timeout()
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/child_process_status.rb, line 37 def on_timeout log_to_file "Child process for worker #{@job_id} on_timeout disconnected" @did_timeout = true @callback.call(self) if @expect_timeout end
print_error_if_exist()
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/child_process_status.rb, line 13 def print_error_if_exist return unless development_debug? [@job.stderr_buffer].each do |buffer| buffer.rewind data = buffer.read log_output_error(nil, 'stderr', "Child process for worker #{@job_id} died for reason: #{data}") if data.present? end end
watch_handler(process)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/child_process_status.rb, line 61 def watch_handler(process) @process ||= process end