私は次のようにrubyの「フォーク」オプションを使用しています。
pid1 = fork do
pid1_output = `ruby scrape1.rb`
puts "#{pid1_output}"
puts ""
exit
end
pid2 = fork do
pid2_output = `ruby scrape2.rb`
puts "#{pid2_output}"
puts ""
exit
end
pid3 = fork do
pid3_output = `ruby scrape3.rb`
puts "#{pid3_output}"
puts ""
exit
end
pid4 = fork do
pid4_output = `ruby scrape4.rb`
puts "#{pid4_output}"
puts ""
exit
end
Process.waitall
ここでの問題は、プロセスの1つ(例ruby scrape1.rb
:)が失敗したり、変数にキャプチャできない大量のテキストを返したりする場合があることです... 4つのプロセスを同時に実行し、1つの端末ですべての出力を表示するにはどうすればよいですか?リアルタイムのウィンドウ?出力の順序が乱れる可能性があることは理解していますが、それで問題ありません。基本的に、各フォークプロセスのSTDOUTとSTDERRをメインプログラムに再ルーティングしたいと思います。スクレーパーを使用して、進行状況とエラーを追跡します。