workerの再起動試験
処理中のworkerがpanicしたとき、そのworkerだけを再起動する試験があります。ほかのworkerが処理を続けられることも確認します。
supervisor.nagiは、意図的に3回panicを起こします。実行中にpanicのログが出るのは、この試験の動作です。通常の終了時には、残りのworkerへ停止を要求してから終了を待ちます。
再起動前には1ミリ秒待ちます。1秒間の再起動回数に上限を設け、失敗し続けるworkerの再起動を止めます。
この試験の親の処理が破棄された場合も、実行中のworkerへ停止を要求します。破棄の時点で全workerの終了を待つ保証はありません。
利用者がworkerの構成や再起動方針を定義するAPIは未対応です。処理中のHTTPリクエストを再配送する機能もありません。panicの処理で、OSによるプロセス停止やメモリ破壊から回復できるわけではありません。