Что происходит после того, как все дети супервайзера умирают? - PullRequest
0 голосов
/ 29 декабря 2018

Допустим, у супервайзера есть ребенок, который почему-то постоянно отказывает.В соответствии со стратегией перезапуска, он перезапустит отказавшего потомка, пока не достигнет максимального числа перезапусков.Что будет с супервизором после того, как он достигнет максимального числа перезапусков?

Ответы [ 2 ]

0 голосов
/ 07 января 2019

, как уже ответил Алексей Романов, супервизор также потерпит неудачу, поэтому родительский супервизор сам выполняет свою стратегию.Стратегии супервизора должны быть согласованы между родительским и дочерним супервизорами, иначе родительский супервизор может никогда не потерпеть неудачу, если его MaxTime для перезапусков установлен неправильно по сравнению с дочерним супервизором.Если не осталось супервизора, само приложение рухнет.Если приложение работает, например, как служба Windows, для этой службы может быть установлена ​​стратегия перезапуска.

Пример:

дочерний супервизор: макс. Перезапуски 10, макс. Время: 10сек. -> дочерний процесс.supervisor будет аварийно завершать работу, если его собственные дочерние элементы имеют более 10 аварийных ситуаций в течение 10 сек.

родительский супервизор: максимальное количество перезапусков: 20, максимальное время: 5 секунд -> дочерний супервизор должен аварийно завершить работу 20 раз за 5 секунд.Это также означает, что дочерний руководитель должен был аварийно завершить работу> 200 раз в течение 5 секунд, чтобы аварийно завершить родительский контроль

Также проверьте следующее https://learnyousomeerlang.com/supervisors

0 голосов
/ 29 декабря 2018

Он завершит свою работу, и его супервизор решит, следует ли перезапустить его в соответствии с политикой супервизора.Если у него нет супервизора (это рут), то он не будет перезапущен.В этом смысл деревьев наблюдения .

...