【发布时间】:2011-11-26 12:35:07
【问题描述】:
是否可以在 ejabberd 中启动一个主管模块,我可以为每个连接添加一个 gen_fsm 模块?
具体来说,我想创建一个在服务器启动(或连接进入)时启动的主管。我有几个gen_servers 我想开始,但我正在寻找一些指导的部分是当我看到这个用户的存在变得可用时如何动态地将gen_fsm 模块添加到我的主管?
【问题讨论】:
标签: erlang ejabberd erlang-otp
是否可以在 ejabberd 中启动一个主管模块,我可以为每个连接添加一个 gen_fsm 模块?
具体来说,我想创建一个在服务器启动(或连接进入)时启动的主管。我有几个gen_servers 我想开始,但我正在寻找一些指导的部分是当我看到这个用户的存在变得可用时如何动态地将gen_fsm 模块添加到我的主管?
【问题讨论】:
标签: erlang ejabberd erlang-otp
您可能想看看Simple one for on supervisor,其中:
是一个简化的 one_for_one 主管,其中所有子进程都是 动态添加同一进程的实例
...
启动时,主管不会启动任何子进程。相反,所有的孩子 通过调用动态添加进程:
supervisor:start_child(Sup, List)...
基本上,您在以下情况下使用这种监管者:
这似乎是你的情况。
【讨论】: