基于serf的数据库同步模块库
liuxiaolong
2020-09-19 1b6a76f8658c11132fb364cf8121397dd4666fdb
agent.go
@@ -36,6 +36,7 @@
   "basic.com/valib/serf.git/cmd/serf/command/agent"
   //"github.com/apache/servicecomb-service-center/pkg/log"
   "basic.com/valib/logger.git"
   "github.com/satori/go.uuid"
)
const (
@@ -139,9 +140,9 @@
            go func() {
               flag, e := ExecuteSqlByGorm(sqlUe.Sql)
               logger.Info("ev.LTime:",ev.LTime,"userEvent exec ",sqlUe.Sql,",Result:",flag,", err:",e)
               logId := strconv.Itoa(int(ev.LTime))
               logLT := strconv.Itoa(int(ev.LTime))
               logT := time.Now().Format("2006-01-02 15:04:05")
               logSql := strings.Join(sqlUe.Sql, ";")
               logSql := strings.ReplaceAll(strings.Join(sqlUe.Sql, ";"), "'", "''")
               logResult := "0"
               if flag {
                  logResult = "1"
@@ -150,7 +151,7 @@
               if e != nil {
                  logErr = e.Error()
               }
               ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+logId+"','"+logT+"','"+logSql+"','"+sqlUe.Owner+"',"+logResult+",'"+logErr+"')"})
               ExecuteSqlByGorm([]string{"insert into sql_sync_his(`id`,`lTime`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+uuid.NewV4().String()+"','"+ logLT +"','"+logT+"','"+logSql+"','"+sqlUe.Owner+"',"+logResult+",'"+logErr+"')"})
            }()
         }
      } else if ev.Name == UserEventSyncDbTablePersonCache {
@@ -248,9 +249,9 @@
               addr := targetNode.Addr.String() + ":" + strconv.Itoa(TcpTransportPort)
               sendErr := rawSendTcpMsg(addr, bytesReturn)
               logId := strconv.Itoa(int(ev.LTime))
               logLT := strconv.Itoa(int(ev.LTime))
               logT := time.Now().Format("2006-01-02 15:04:05")
               logSql := "QueryEventUpdateDBData from "+targetNode.Name
               logSql := strings.ReplaceAll("QueryEventUpdateDBData from "+targetNode.Name,"'","''")
               logResult := "0"
               logErr := ""
               if sendErr ==nil {
@@ -262,7 +263,7 @@
               }
               ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+logId+"','"+logT+"','"+logSql+"','"+targetNode.Name+"',"+logResult+",'"+logErr+"')"})
               ExecuteSqlByGorm([]string{"insert into sql_sync_his(`id`,`lTime`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+uuid.NewV4().String()+"','"+ logLT +"','"+logT+"','"+logSql+"','"+targetNode.Name+"',"+logResult+",'"+logErr+"')"})
            }()
         } else {
            logger.Debug("targetNode is nil")
@@ -283,9 +284,9 @@
            flag,e := ExecuteSqlByGorm([]string{ leaveSql })
            logger.Info("EventMemberLeave,current Members:",ev.Members)
            logId := ""
            logLT := ""
            logT := time.Now().Format("2006-01-02 15:04:05")
            logSql := leaveSql
            logSql := strings.ReplaceAll(leaveSql, "'","''")
            logResult := "0"
            if flag {
               logResult = "1"
@@ -294,7 +295,7 @@
            if e != nil {
               logErr = e.Error()
            }
            ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+logId+"','"+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+"','"+leaveMember.Name+"',"+logResult+",'"+logErr+"')"})
         }
         return
      } else if event.EventType() == serf.EventMemberJoin {
@@ -304,9 +305,9 @@
            flag,e := ExecuteSqlByGorm([]string{joinSql})
            logger.Info("EventMemberJoin,current Members:",ev.Members)
            logId := ""
            logLT := ""
            logT := time.Now().Format("2006-01-02 15:04:05")
            logSql := joinSql
            logSql := strings.ReplaceAll(joinSql, "'", "''")
            logResult := "0"
            if flag {
               logResult = "1"
@@ -315,7 +316,7 @@
            if e != nil {
               logErr = e.Error()
            }
            ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+logId+"','"+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+"','"+leaveMember.Name+"',"+logResult+",'"+logErr+"')"})
         }
         return
      }