2011-09-28 24 views
0

是否可以在ejabberd中启动一个超级用户模块,我可以为每个连接添加一个gen_fsm模块?向ejabberd添加动态主管

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

回答

1

你可能想看看在Simple one for on supervisor,其中:

是一个简化的one_for_one主管,所有的子进程 同一过程的

动态添加的情况下...

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

supervisor:start_child(Sup, List)

...

基本上,你用这种监事时:

  1. 所有的孩子是的相同类型
  2. 你想动态添加小孩

这似乎是你的情况。

+0

+1,还请注意,ejabberd已经使用了一些模块,包括ejabberd_c2s – Dan