Если вы позволите Child1
аварийно завершить работу при Child2
, ваш существующий руководитель
просто перезапустит Child1
, таким образом, также перезапустит Child2
.
Но это зависит от сбоя Child1
при сбое Child2
. Другой вариант
это вставить другого супервизора в дерево процессов:
Change this: Into this:
+------------+ +------------+
| Supervisor | | Supervisor |
+------------+ +------------+
| |
+------------+ +------------+
| Child1 | New supervisor ---> | Supervisor |
+------------+ +------------+
| | |
+------------+ +------------+ +---------+
| Child2 | | Child1 | | Child2 |
+------------+ +------------+ +---------+
| |
other service other service
Новый супервайзер обрабатывает только двух детей как свою собственную службу, что позволяет
смерть одного из них, чтобы повлиять на другого настраиваемым образом.