Erlang / OTP App 的 handle_info 没有收到 nodedown, _, _ 或 nodedown, _ 消息
Posted
技术标签:
【中文标题】Erlang / OTP App 的 handle_info 没有收到 nodedown, _, _ 或 nodedown, _ 消息【英文标题】:Erlang / OTP App's handle_info not getting nodedown, _, _ or nodedown, _ messagesErlang / OTP App 的 handle_info 没有收到 nodedown, _, _ 或 nodedown, _ 消息 【发布时间】: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 没有收到消息?
谢谢!
【问题讨论】:
我们可能需要更多代码来查看发生了什么。从您所写的内容来看,它应该被交付。 【参考方案1】:这是 RabbitMQ 与当时新发布的 R15A 版本的 erlang 的兼容性问题。切换回 R14B3 为我解决了这个问题。
【讨论】:
以上是关于Erlang / OTP App 的 handle_info 没有收到 nodedown, _, _ 或 nodedown, _ 消息的主要内容,如果未能解决你的问题,请参考以下文章