2011-11-08 140 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}表示 使幾個事件處理程序使用相同的回調模塊時,可以識別特定的事件處理程序。

相關問題