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 27 28 29 |
# 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 # close write endpoints after fork wo.close we.close # register log consumers Linedump.each_line(ro) { |l| _logger.info "[#{_name.upcase}] #{l}" } Linedump.each_line(re) { |l| _logger.warn "[#{_name.upcase}] #{l}" } proc end |