class CapistranoMulticonfigParallel::RunnerStatus
Constants
- ATTRIBUTE_LIST
Public Class Methods
new(process_runner, job, command, options={})
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/runner_status.rb, line 29 def initialize(process_runner, job, command, options={}) options = options.is_a?(Hash) ? options : {} @job = job @process_runner = process_runner @command = command @options = {:repeats=>1, :force_yield=>nil, :timeout=>nil, :expect_timeout=>false}.merge(options) @options = @options.symbolize_keys @actor = @options.fetch(:actor, nil) @job_id = @job.id @process_runner = process_runner @output_text = "" @error_text = "" @exit_status = nil @did_timeout = false @callback = @options[:callback].present? ? @options[:callback] : nil @pid = nil @force_yield = @options[:force_yield] @expect_timeout = @options[:expect_timeout] || false @expect_size_limit = @options[:expect_size_limit] || false @async_exception = nil end
Public Instance Methods
async_exception_handler(async_exception)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/runner_status.rb, line 105 def async_exception_handler(async_exception) @async_exception = async_exception log_to_worker "Child process for worker #{@job_id} async_exception_handler disconnected due to error #{data.inspect}" @exit_status = 1 end
inspect()
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/runner_status.rb, line 116 def inspect to_s end
log_to_worker(message, io = nil)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/runner_status.rb, line 55 def log_to_worker(message, io = nil) if io.present? log_to_file("#{io.upcase} ---- #{message}", job_id: @job_id, prefix: @options[:log_prefix]) elsif @options[:log_prefix].present? log_to_file(message, job_id: @job_id, prefix: @options[:log_prefix]) else log_to_file(message) end end
on_exit(status)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/runner_status.rb, line 99 def on_exit(status) log_to_worker "Child process for worker #{@job_id} on_exit disconnected due to #{status.inspect}" @exit_status = status.exitstatus @callback.call(self) if @callback && process_runner.synchronicity == :sync end
on_input_stdin(data)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/runner_status.rb, line 71 def on_input_stdin(data) log_to_worker(data, "stdin") @output_text << data end
on_pid(pid)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/runner_status.rb, line 65 def on_pid(pid) log_to_worker"Child process for worker #{@job_id} on_pid #{pid.inspect}" @pid ||= pid end
on_read_stderr(data)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/runner_status.rb, line 81 def on_read_stderr(data) log_to_worker(data, "stderr") @error_text << data end
on_read_stdout(data)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/runner_status.rb, line 76 def on_read_stdout(data) log_to_worker(data, "stdout") @output_text << data end
on_size_limit()
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/runner_status.rb, line 93 def on_size_limit log_to_worker "Child process for worker #{@job_id} on_size_limit disconnected" @did_size_limit = true @callback.call(self) if @callback && process_runner.synchronicity == :sync && @expect_size_limit end
on_timeout()
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/runner_status.rb, line 87 def on_timeout log_to_worker "Child process for worker #{@job_id} on_timeout disconnected" @did_timeout = true @callback.call(self) if @callback && process_runner.synchronicity == :sync && @expect_timeout end
to_json()
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/runner_status.rb, line 124 def to_json hash = {} CapistranoMulticonfigParallel::RunnerStatus::ATTRIBUTE_LIST.delete_if{|a| [:process_runner].include?(a) }.each do |key| hash[key] = send(key).inspect end hash end
to_s()
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/runner_status.rb, line 120 def to_s JSON.generate(to_json) end
watch_handler(process)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/runner_status.rb, line 111 def watch_handler(process) @process ||= process end