基于serf的数据库同步模块库
liuxiaolong
2019-10-24 ca2652d724c91bcc0849c749d10f2b9af8129a09
fix node leave and join
1个文件已修改
11 ■■■■■ 已修改文件
agent.go 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
agent.go
@@ -240,12 +240,21 @@
        if event.EventType() == serf.EventMemberLeave {
            if ev.Members !=nil && len(ev.Members) ==1 {
                leaveMember := ev.Members[0]
                leaveSql := "delete from cluster_node where node_id='"+leaveMember.Name+"'"
                leaveSql := "update cluster_node set isDelete=1 where node_id='"+leaveMember.Name+"'"
                ExecuteSqlByGorm([]string{ leaveSql })
                logger.Info("EventMemberLeave,current Members:",ev.Members)
            }
            return
        } else if event.EventType() == serf.EventMemberJoin {
            if ev.Members !=nil && len(ev.Members) ==1 {
                leaveMember := ev.Members[0]
                leaveSql := "update cluster_node set isDelete=0 where node_id='"+leaveMember.Name+"'"
                ExecuteSqlByGorm([]string{ leaveSql })
                logger.Info("EventMemberJoin,current Members:",ev.Members)
            }
            return
        }