監督標準出力をマルチログおよび2番目のプロセスに送信する方法

監督標準出力をマルチログおよび2番目のプロセスに送信する方法

スーパーバイザーを通じて実行されるプロセスがあります。マルチログを使用してlog / runを介して出力を記録するため、ログ出力はlog / main / currentで終了します。また、バッファリング後にログをAWS CloudWatch Logsにプッシュする「aws message push」という2番目のコマンドで出力をパイプしたいと思います.

マルチログで即座にログを記録し、「aws log push」にパイプして最終的にAWS CloudWatch Logsで使用できるようにログ/実行スクリプトを設定するにはどうすればよいですか?

私のログ/実行スクリプトは次のとおりです exec setuidgid <username> multilog ./main

編集する:

ディレクトリ構造: <project path>/supervise/run <project path>/supervise/log/run <project path>/supervise/log/main/current

これで眠りについたので、私の混乱は次のようにまとめることができるようです。

  • スーパーバイザを使用する場合の推奨事項は、実行スクリプトでプロセスを「実行」して、スーパーバイザが送信するシグナルを受信することです。
  • 管理ログプロセスに送信されたすべての信号をキャプチャしてから、2つのプロセスに送信して両方のプロセスが正しく終了することを確認する必要があります。
  • スクリプトのstdinから2つのプロセスを同時に読み取る方法は不明です。

関連情報