当我在本地注册它时,我可以很好地启动我的事件框架:
gen_event:start_link({local, foo_event_container}).
gen_event:add_handler(foo_event_container, foo_event_handler, []).
调用 register() 会显示 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 没有提供任何额外的信息,谷歌搜索这个问题会产生一个猜测运行容器的 shell 已经被杀死,这不是这里的情况,因为我试图从同一个节点访问它!
1)有什么想法吗?
2)拥有一个远程容器是最好的设计,还是让每个服务器都使用本地容器来将消息都发送到远程进程会更好?
谢谢!