3

スーパーバイザーがイベントリスナーを実行しているサーバーがあり、プロセスがクラッシュしたときに、クラッシュメールを取得してメールを送信することができました。しかし、電子メールの内容には、「グループ adnode04 のプロセス adnode04 が予期せず (pid 1255) RUNNING 状態から終了しました」としか記載されていません。

crashmail がログ ファイルの最後の 10 ~ 20 行から内容を取得し、その内容をメールで送信できるようにしたいと考えています。それはできますか?

4

1 に答える 1

3

当然ですが、クラッシュメールを自分でフォークする必要があります。

メッセージは112 行目あたりです。XML-RPC API を使用して を呼び出すことができますtailProcessStderrLog

したがって、基本的に行うことは、次のようなものを追加することです。

rpc = childutils.getRPCInterface( os.environ )
log = rpc.supervisor.tailProcessStderrLog( %(groupname):'%(processname)' % pheaders, 16000 )
msg += '\nLog:\n%s' % log['bytes']

上記は単純な概念実証であり、テストされておらず、間違いが含まれている可能性が非常に高いです。それがどうなるか教えてください。

于 2013-11-30T10:58:41.283 に答える