从Qt客户端向Erlang服务器发起数据库分页查询的请求(2)

分页查询模块也采用OTP框架,这样可以将其置于监督者的管理之下。分页查询模块的监督者采用简易一对一模式(simple_one_for_one),该模式下,只能启动一种子进程,但是却可以启动任意多个。所有的子进程都是运行时动态添加的,监督者在启动时不会启动任何子进程,这种模式正好适应我们当前的需要。监督者可以通过supervisor: start_child/0函数来启动新的子进程。

监督者策略,此处Restart设置为temporary,表示子进程用不重启。因为根据我们当前搜索联系人的业务特点,重启子进程没有任何必要。其他可选项还有:permanent,表示无论什么原因导致进程终止都应重启;transient,仅在进程意外终止时重启。

Shutdown设置为brutal_kill,表示关闭监督进程时立即终止子进程。其他选项还有:一个以毫秒为单位的整数,表示监督者终止后最长留给子进程关闭的时间;infinity,给予子进程充分的时间自行退出。

RestartStrategy里设定的0和1表示不重启子进程。

-module(cs_sup_pageSearchPeople).
-behaviour(supervisor).
-export([
	start_link/0,
	start_child/0
	]).
-export([init/1]).
-define(SERVER,?MODULE).

start_link()->
    supervisor:start_link({local,?SERVER},?MODULE,[]).

start_child()->
    supervisor:start_child(?SERVER,[]).

init([])->
    Element={cs_pageSearchPeople,
		{cs_pageSearchPeople,start_link,[]},
		temporary,
		brutal_kill,
		worker,
		[cs_pageSearchPeople]
		},
    Children=[Element],
    RestartStrategy={simple_one_for_one,0,1},
    {ok,{RestartStrategy,Children}}.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值