我可以開始我的事件框架就好了,當我在本地註冊它:二郎:使用gen_event全球的遠程管理器
gen_event:start_link({local, foo_event_container}).
gen_event:add_handler(foo_event_container, foo_event_handler, []).
中調用註冊()顯示foo_event_container,當我將消息發送到它,它們顯示在處理程序中。
然而,當我重新啓動節點,並嘗試
gen_event:start_link({global, foo_event_container}).
註冊()不顯示的容器,當我嘗試添加一個處理程序,它 我得到
** exception exit: noproc
in function gen:call/4
in call from gen_event:rpc/2
SASL沒有提供任何額外的信息,並且使用googling這個問題產生一個猜測,即運行容器的shell已經被殺死了,這裏不是這種情況,因爲我試圖從同一個節點訪問它!
1)任何想法這裏發生了什麼?
2)有一個遠程容器是最好的設計,還是每個服務器都使用本地容器,它們都將消息發送到遠程進程會更好?
謝謝!
是的!使用gen_event全局元組:add_handler({global,foo_event_container},foo_event_handler,[])完美地工作,謝謝。 (如果這是記錄在某處,那會很好......) – tkersh 2011-02-18 22:00:14