アーランドキュメント状態次約gen_servers:gen_serverを停止する理由を選択するためのセマンティクスとは何ですか?
...通常、シャットダウン、または{シャットダウン、用語}以外の理由gen_serverが起因して終了するものとすること
注error_logger:format/2を使用してエラーレポートが発行されます。
出典:これらの三つの理由以外はエラーとはみなされているのでhttp://www.erlang.org/doc/man/gen_server.html#Module:terminate-2
、私は理由のnormal
、shutdown
と{shutdown, Reason}
が正常な行動とみなされていることを推測します。
通常の状況下でgen_serverを停止する3つの理由を選択するとき、開発者が動機を持っていると想像していますが、どちらを使用するかを決める方法はあまりよく分かりません。
だから、normal
、shutdown
、{shutdown, Reason}
を使用する必要がありますか?
ありがとうございます!私はスーパーバイザについての読書をスキップしたと思います:P – pedromanoel
スーパーバイザが 'shutdown'を使用する理由は実際にはエラー値です。だから子供が出口を閉じ込めていなければ、それは殺されるでしょう。もしそれが閉じ込められているならば、その親(スーパバイザ)からの「シャットダウン」終了信号を特別に扱い、きれいに終了することが期待されます。これはOTPの振る舞いによって処理されるので、自分で行う必要はありません。 – rvirding