2011-11-08 162 views
1

我有一个定期发生事件的OTP应用程序。有几个演员想要对事件做出回应。每个演员所做的事情都是其自身状态的函数,但否则它们是相同的。如何使用具有不同状态的相同事件处理程序的多个实例?

我的问题是如何将这个设置合并到监督树中。我有一个gen_event管理器,每个actor都是一个事件处理程序。如果不是因为gen_event监督是奇怪的事实,这会很好。一旦我的第一个处理程序是add_sup_handler'd其余的失败already_started和我的gen_server充当事件处理程序的主管去世。

那么我应该在这里做什么?我开始认为我应该写自己的活动经理来跟踪我所有的演员和他们的状态。

回答

2

gen_event:add_handler/3

处理程序是回调模块Module或元组 {Module,Id},其中Id是任何术语的名称。 {Module,Id}表示 使几个事件处理程序使用相同的回调模块时,可以识别特定的事件处理程序。

相关问题