3

私が開発する特定のアプリケーションにはスーパーバイザーは必要ありません。使わなくても大丈夫ですか?

ドキュメントはそれについて言いstart/2ます

"{ok,Pid} または {ok,Pid,State} を返す必要があります。ここで、Pid は最上位の監視の pid です"

そのため、スーパーバイザーを起動せずに無効な pid を返してよいかどうかはわかりません (試してみましたが、悪いことは何も起こりませんでした)。

4

1 に答える 1

7

{ok, self()}リリースのアップグレードを開始するまで、何かを返すことは問題なく機能します。その時点で、空の子リストを持つスーパーバイザーを使用する必要があります。(applicationとのsupervisor動作には衝突するコールバック関数がないため、両方を同じモジュールに入れることができます。)

念のため: アプリケーション モジュールのstartコールバック関数で何らかの初期化を行っていますよね? そうでない場合は、ファイルmodからディレクティブを削除するだけ.appで、コールバックも呼び出されないため、本物でも偽物でもスーパーバイザーは存在しません。

于 2012-08-14T13:19:01.573 に答える