私が開発する特定のアプリケーションにはスーパーバイザーは必要ありません。使わなくても大丈夫ですか?
ドキュメントはそれについて言いstart/2
ます
"{ok,Pid} または {ok,Pid,State} を返す必要があります。ここで、Pid は最上位の監視の pid です"
そのため、スーパーバイザーを起動せずに無効な pid を返してよいかどうかはわかりません (試してみましたが、悪いことは何も起こりませんでした)。
私が開発する特定のアプリケーションにはスーパーバイザーは必要ありません。使わなくても大丈夫ですか?
ドキュメントはそれについて言いstart/2
ます
"{ok,Pid} または {ok,Pid,State} を返す必要があります。ここで、Pid は最上位の監視の pid です"
そのため、スーパーバイザーを起動せずに無効な pid を返してよいかどうかはわかりません (試してみましたが、悪いことは何も起こりませんでした)。
{ok, self()}
リリースのアップグレードを開始するまで、何かを返すことは問題なく機能します。その時点で、空の子リストを持つスーパーバイザーを使用する必要があります。(application
とのsupervisor
動作には衝突するコールバック関数がないため、両方を同じモジュールに入れることができます。)
念のため: アプリケーション モジュールのstart
コールバック関数で何らかの初期化を行っていますよね? そうでない場合は、ファイルmod
からディレクティブを削除するだけ.app
で、コールバックも呼び出されないため、本物でも偽物でもスーパーバイザーは存在しません。