向ejabberd添加动态主管

时间:2011-09-28 02:39:55

标签: erlang ejabberd otp

是否可以在ejabberd中启动一个supervisor模块,我可以为每个连接添加一个gen_fsm模块?

具体来说,我想创建一个在服务器启动时(或连接进入时)启动的主管。我想要启动几个gen_server,但我正在寻找一些指导的部分是当我看到这个用户出现时如何向我的主管动态添加gen_fsm模块变得可用了?

1 个答案:

答案 0 :(得分:1)

您可能需要查看Simple one for on supervisor,其中:

  

是一个简化的one_for_one主管,所有子进程都是   动态添加同一进程的实例

     

...

     

启动时,主管不会启动任何子进程。相反,所有的孩子   通过调用动态添加进程:

supervisor:start_child(Sup, List)
     

...

基本上,您在以下情况下使用此类主管:

  1. 所有孩子属于同一类型
  2. 您想要动态添加儿童
  3. 这似乎是你的情况。