【发布时间】:2012-02-07 02:28:45
【问题描述】:
我有一个 Erlang/OTP 应用程序,当伴随节点出现故障时,它的 handle_info 函数没有收到 {nodedown, _, _ } 或 {nodedown, _ } 消息。但是,当同伴节点恢复时,我确实收到了{nodeup, _, _} 消息。
我在 OTP 服务器的init/1 函数中使用了net_kernel:monitor_nodes( true, [{node_type, all}])。
另外,如果我将这个 OTP 应用程序作为应用程序启动,receive X->X 就完成了。在 shell 上,然后杀死同伴节点,我在 shell 上得到一个 {nodedown, _, _ } !
那么,如果 shell 是,为什么 handle_info 没有收到消息?
谢谢!
【问题讨论】:
-
我们可能需要更多代码来查看发生了什么。从您所写的内容来看,它应该被交付。
标签: erlang distributed erlang-otp