| | |
| | | "basic.com/valib/logger.git" |
| | | "basic.com/valib/serf.git/serf" |
| | | "encoding/json" |
| | | "fmt" |
| | | "github.com/golang/protobuf/proto" |
| | | "github.com/hashicorp/memberlist" |
| | | "github.com/satori/go.uuid" |
| | |
| | | func HandleEventMemberLeave(ev serf.MemberEvent) { |
| | | if ev.Members != nil && len(ev.Members) == 1 { |
| | | leaveMember := ev.Members[0] |
| | | leaveSql := "update cluster_node set isDelete=1 where node_id='" + leaveMember.Name + "'" |
| | | leaveSql := "update cluster_node set isDelete=1,drift_state='' where node_id='" + leaveMember.Name + "'" |
| | | flag, e := executeSqlByGorm([]string{leaveSql}) |
| | | |
| | | logger.Info("EventMemberLeave,current Members:", ev.Members) |
| | |
| | | |
| | | func HandleEventMemberJoin(ev serf.MemberEvent) { |
| | | if ev.Members != nil && len(ev.Members) == 1 { |
| | | leaveMember := ev.Members[0] |
| | | joinSql := "update cluster_node set isDelete=0 where node_id='" + leaveMember.Name + "'" |
| | | joinMember := ev.Members[0] |
| | | |
| | | timeUnix := time.Now().Unix() |
| | | fmtTimeStr := time.Unix(timeUnix, 0).Format("2006-01-02 15:04:05") |
| | | |
| | | //joinSql := "update cluster_node set isDelete=0 where node_id='" + leaveMember.Name + "'" |
| | | joinSql := fmt.Sprintf("update cluster_node set isDelete=0,drift_state='',node_ip='%s',create_time='%s' where node_id='%s'", joinMember.Addr.String()+":"+strconv.Itoa(int(joinMember.Port)), fmtTimeStr, joinMember.Name) |
| | | flag, e := executeSqlByGorm([]string{joinSql}) |
| | | |
| | | logger.Info("EventMemberJoin,current Members:", ev.Members) |
| | |
| | | if e != nil { |
| | | logErr = e.Error() |
| | | } |
| | | executeSqlByGorm([]string{"insert into sql_sync_his(`id`,`lTime`,`createTime`,`sql`,`from`,`result`,`err`) values ('" + uuid.NewV4().String() + "','" + logLT + "','" + logT + "','" + logSql + "','" + leaveMember.Name + "'," + logResult + ",'" + logErr + "')"}) |
| | | executeSqlByGorm([]string{"insert into sql_sync_his(`id`,`lTime`,`createTime`,`sql`,`from`,`result`,`err`) values ('" + uuid.NewV4().String() + "','" + logLT + "','" + logT + "','" + logSql + "','" + joinMember.Name + "'," + logResult + ",'" + logErr + "')"}) |
| | | } |
| | | } |