Biblioteca de supervisión flexible, rápida y potente para los procesos de Erlang.
'count'=>infinity
y restart
elementos en su plan. Childspec = #{id => foo ,start => {bar, baz, [arg1, arg2]} ,plan => [restart] ,count => infinity}.
¡Si su proceso no se inició después de la falla, el director se bloqueará y volverá a intentar reiniciar su proceso infinity
! Si está usando infinity
para 'count'
, use siempre {restart, MiliSeconds}
en 'plan'
lugar de restart
.
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}.
¡El resto del elemento de delete
en Childspec1
y el resto del elemento de stop
en Childspec2
nunca se evaluarán!
¡En Childspec3
quieres ejecutar tu plan 0 veces!
¡En ChildSpec4
no tienes ningún plan para ejecutar tiempos infinity
!
release_handler
, release_handler
llama a supervisor:get_callback_module/1
para obtener su módulo de devolución de llamada. get_callback_module/1
utiliza el registro de estado interno del supervisor para proporcionar su módulo de devolución de llamada. Nuestro director no conoce el registro de estado interno del supervisor, luego el supervisor:get_callback_module/1
no funciona con los directores . supervisor:get_callback_module/1
funciona perfectamente con el director s :). 1> foo:start_link(). {ok,<0.105.0>} 2> supervisor:get_callback_module(foo_sup). foo 3>