主管的所有孩子都死后会发生啥?
Posted
技术标签:
【中文标题】主管的所有孩子都死后会发生啥?【英文标题】:What happens after all children of a supervisor die?主管的所有孩子都死后会发生什么? 【发布时间】:2019-05-26 18:47:04 【问题描述】:假设主管的孩子由于某种原因不断失败。根据重新启动策略,它将重新启动失败的孩子,直到达到最大重新启动计数。 Supervisor 达到最大重启次数后会发生什么?
【问题讨论】:
【参考方案1】:它将自行终止,其主管根据主管的策略决定是否重新启动它。如果它没有主管(它是根),则不会重新启动。这就是supervision trees 的意义所在。
【讨论】:
【参考方案2】:正如 Alexey Romanov 已经回答的那样,主管也会失败,因此父主管本身正在执行自己的策略。监管者策略必须在父监管者和子监管者之间保持一致,否则如果与子监管者相比,其重启的 MaxTime 设置不正确,父监管者可能永远不会失败。如果没有监督员,应用程序本身就会崩溃。例如,如果应用程序作为 Windows 服务运行,则该服务本身可以设置重启策略。
例子:
child supervisor: max restarts 10, max time: 10secs -> child supervisor 如果在 10secs 内有超过 10 次崩溃,child supervisor 将会崩溃
父主管:最多重启次数:20,最长时间:5 秒 -> 子主管必须在 5 秒内崩溃 20 次。这也意味着子主管的孩子必须在 5 秒内崩溃 > 200 次才能使父主管崩溃
还请查看以下内容 https://learnyousomeerlang.com/supervisors
【讨论】:
以上是关于主管的所有孩子都死后会发生啥?的主要内容,如果未能解决你的问题,请参考以下文章