定义supervisor时,如果是监控celuesimple_one_for_one则删除children的时候就用supervisor:terminate_child (SupModuleName, ChildPid),如果shutdown策略选择的是brutal_kill,那么supervisor会调用exit(ChildPid, kill),这样的话如果Child的behavior是gen_server,则不会调用他的terminate函数,而是直接退出。
如果shutdown策略选择的是数字(超时时间),那么supervisor会调用exit(ChildPid, shutdown),这样的话如果Child的behavior是gen_server,则会调用他的terminate函数,然后返回给supervisor一个exit回应信号,然后再退出。
相关推荐
erlang四大behaviour之四-supervisor
受 Erlang Supervisor 和 Process 类的启发,它们通过将协程彼此隔离来启用容错并行应用程序,从而防止协程中的异常使主要 nodejs 进程崩溃。安装 npm install domain-supervisor用法 var Supervisor = require('...
erlang的supervisor模块,自己写了一些简单的代码来区分不同重启策略的区别
Ergo Framework实现了诸如GenServer / Supervisor / Application类的OTP设计模式,并使您能够创建与Erlang基础架构进行本地集成的高性能和可靠的应用程序 产品特点 Erlang节点(运行单节点/) (以摆脱erlang的...
- If you run change_log_format/1,2 and appender crashed, a restart from the supervisor will not record the latest format used. It will only use either the default format or the format used in the ...
backoff_supervisor backoff_supervisor是一个simple_one_for_one主管,有以下区别: 最多 1 个孩子。 start_child/2在尝试启动第二个孩子时返回{error, {already_started, Pid}} 。 最大重启次数为0 。 如果一个...
homelander:由ErlangOTP支持的简单shell命令监视
潜水员使用和查询数据库的Erlang / Elixir HBase驱动程序。 Diver在启动时将Java服务器创建为,并将GenServer请求直接分派到在Java服务器上运行的HBaseClient 。 这些请求由HBase群集上的客户端异步执行,并且响应...
导演:导演是ErlangElixir过程的生产就绪主管和经理,专注于速度,性能和灵活性。
Supervisor 过程 流程是OTP的最低级别构建块,所有其他参与者都直接或间接地建立在流程之上。 通常,这种抽象在Gleam应用程序中不会经常使用,而青睐其他提供更多功能的actor类型。 演员 actor是Gleam中最常用的过程...
背景 相信使用 Node.js 开发过 Web 应用的同学一定苦恼过新修改的代码...这个方法也已经有很多成熟的解决方案提供了,比如已经被弃坑的 node-supervisor,以及现在比较火的 PM2 ,或者比较轻量级的 node-dev 等等均是这