Looking for erlang Keywords? Try Ask4Keywords

Erlang LanguageDirektor


Einführung

Flexible, schnelle und leistungsfähige Supervisor-Bibliothek für Erlang-Prozesse.

Bemerkungen

Warnungen

  • Verwenden Sie keine 'count'=>infinity und Element restart in Ihrem Plan.
    mögen:
Childspec = #{id => foo
             ,start => {bar, baz, [arg1, arg2]}
             ,plan => [restart]
             ,count => infinity}.

Wenn Ihr Prozess nach einem Absturz nicht gestartet wurde, sperrt der Director und versucht erneut, den Prozess infinity oft neu zu starten! Wenn Sie verwenden infinity für 'count' , verwenden Sie immer {restart, MiliSeconds} in 'plan' statt restart .

  • Wenn Sie Pläne haben wie:
Childspec1 = #{id => foo
              ,start => {bar, baz}
              ,plan => [restart,restart,delete,wait,wait, {restart, 4000}]
              ,count => infinity}.

Childspec2 = #{id => foo
              ,start => {bar, baz}
              ,plan => [restart,restart,stop,wait, {restart, 20000}, restart]
              ,count => infinity}.

Childspec3 = #{id => foo
              ,start => {bar, baz}
              ,plan => [restart,restart,stop,wait, {restart, 20000}, restart]
              ,count => 0}.

Childspec4 = #{id => foo
              ,start => {bar, baz}
              ,plan => []
              ,count => infinity}.

Der Rest des delete in Childspec1 und der Rest des stop in Childspec2 wird nie bewerten!
In Childspec3 du deinen Plan 0 mal ausführen!
In ChildSpec4 Sie nicht vor, infinity ChildSpec4 Zeiten auszuführen!

  • Bei der Aktualisierung Release mit release_handler , release_handler Anrufen supervisor:get_callback_module/1 für das Callback - Modul abgerufen werden .
    In OTP <19 verwendet get_callback_module/1 den Supervisor- get_callback_module/1 um das Callback-Modul get_callback_module/1 . Unser Direktor kennt den internen supervisor:get_callback_module/1 nicht, dann supervisor:get_callback_module/1 nicht mit den Directors .
    Eine gute Nachricht ist, dass in OTP> = 19 supervisor:get_callback_module/1 perfekt mit Directors s :) arbeitet.
1> foo:start_link().
{ok,<0.105.0>}

2> supervisor:get_callback_module(foo_sup).
foo

3>

Direktor Verwandte Beispiele