深入理解OTP中的监督者行为
1. 监督者行为概述
在OTP(Open Telecom Platform)中,监督者行为由监督者库模块实现。与所有行为一样,回调模块用于处理非通用代码,包括行为和版本指令。监督者回调模块需要导出一个单一的回调函数,用于在启动时配置和启动该特定监督者所处理的树的子集。这个导出的函数通常是 init/1 ,它包含了所有特定的监督者配置。回调模块通常还会提供用于启动监督者本身的函数。
2. 启动监督者
为了构建完整的监督树,我们首先创建一个监督者,用于启动和监控频率服务器和过载事件管理器。由于频率服务器依赖于过载事件管理器,因此过载管理器需要在频率服务器之前启动。如果过载管理器终止,我们需要先终止频率服务器,然后再重新启动它们。
以下是频率监督者回调模块的代码示例:
-module(frequency_sup).
-behavior(supervisor).
-export([start_link/0, init/1]).
-export([stop/0]).
start_link() ->
supervisor:start_link({local,?MODULE},?MODULE, []).
stop() ->
exit(whereis(?MODULE), shutdown).
init(_) ->
ChildSpecList = [child(freq_overload), child(frequency)],
{ok,{
{rest_for_
超级会员免费看
订阅专栏 解锁全文
1275

被折叠的 条评论
为什么被折叠?



