Module: Crabfarm::Utils::Processes
- Defined in:
- lib/crabfarm/utils/processes.rb
Class Method Summary collapse
Class Method Details
.start_logged_process(_name, _cmd, _logger, _env = {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/crabfarm/utils/processes.rb', line 9 def self.start_logged_process(_name, _cmd, _logger, _env={}) ro, wo = IO.pipe re, we = IO.pipe proc = ChildProcess.build(*_cmd) proc.environment.merge! _env proc.io.stdout = wo proc.io.stderr = we proc.start wo.close we.close Thread.new { ro.each_line { |l| _logger.info "[#{_name.upcase}] #{l}" } } Thread.new { re.each_line { |l| _logger.warn "[#{_name.upcase}] #{l}" } } proc end |