リモートサーバーへの接続を処理するTCPクライアントと接続プロトコルを処理するFSMの2つのワーカープロセスを持つスーパーバイザーがいます。
子プロセスでTCPエラーを処理すると、コードが大幅に複雑になります。したがって、「クラッシュさせる」ことをお勧めしますが、これには別の問題があります。サーバーに到達できない場合、再起動の最大数にすぐに到達し、スーパーバイザーがアプリケーション全体とともにクラッシュします。これは、この場合。
私が望んでいるのは、バックオフを使用した再起動戦略を立てることです。これに失敗した場合は、クラッシュが原因で再起動されたときにスーパーバイザーが認識していれば十分です(つまり、init
関数にパラメーターとして渡された場合)。このメーリングリストのスレッドを見つけましたが、より公式でよりテストされたソリューションはありますか?