zhangzengfei
2023-11-28 3a706d3378aa3626501370352963883fd2783558
system-service/main.go
@@ -3,13 +3,13 @@
import (
   "context"
   "flag"
   "net/http"
   "fmt"
   _ "net/http/pprof"
   "os"
   "os/signal"
   "syscall"
   "vamicro/config"
   "vamicro/extend/util"
   //"vamicro/extend/util"
   "vamicro/system-service/broadcast"
   "vamicro/system-service/controllers"
   "vamicro/system-service/models"
@@ -47,9 +47,10 @@
func main() {
   // pprof 用于分析性能
   go func() {
      logger.Info(http.ListenAndServe("0.0.0.0:6078", nil))
   }()
   //go func() {
   //   logger.Info(http.ListenAndServe("0.0.0.0:6078", nil))
   //}()
   models.Init()
   defer models.CloseDB()
   models.GetDB().SetLogger(&serf.DbLogger{})
@@ -60,14 +61,14 @@
      Proc:        *proc,
      Channel:     nil,
      PubTopic:    pubTopics,
      SubTopic:    []string{versionControlS.AuthorizationUpdateTopic},
      SubTopic:    []string{versionControlS.AuthorizationUpdateTopic, "sync-proc-message-to-serf"},
      SubNetTopic: []string{},
   }
   q := make(chan os.Signal, 1)
   signal.Notify(q, os.Interrupt, os.Kill, syscall.SIGTERM)
   ms, err := bhomeclient.NewMicroNode(ctx, q, config.Server.AnalyServerId, reg, logger.Debug)
   ms, err := bhomeclient.NewMicroNode(ctx, q, config.Server.AnalyServerId, reg, nil)
   if err != nil {
      return
   }
@@ -76,20 +77,24 @@
   bhomedbapi.InitDoReq(ms.RequestOnly)
   bhomedbapi.InitLog(logger.Debug)
   util.AuthCheck(ctx) //授权检查
   //util.AuthCheck(ctx) //授权检查
   go ms.StartServer(fm)
   go dealSubMsg(ctx, ms)
   serf.InitBusH(ms)
   serf.InitAgent(ctx)
   go service.WatchEsAndWeedfsIp(ms)
   //go service.WatchEsAndWeedfsIp(ms)
   go serf.StartSyncSqlToSerf()
   go service.StartSyncDev()
   //go service.StartSyncDev()
   go broadcast.StartServer() //设备可以被广播搜索
   //go service.CollectDeviceInfo(ctx, ms)
   go service.WatchAuthSetChange(ms) //根据授权文件监视通道数量变化
   //go service.WatchAuthSetChange(ms) //根据授权文件监视通道数量变化
   //统计系统运行状态
   go sys.GatherStat()
@@ -151,6 +156,7 @@
   funcMap[urlPrefix+"/sysset/getWifiList"] = ssController.GetWifiList
   funcMap[urlPrefix+"/sysset/getDefKeyboardLayout"] = ssController.GetDefKeyboardLayout
   funcMap[urlPrefix+"/sysset/connectWifi"] = ssController.ConnectWifi
   funcMap[urlPrefix+"/sysset/disconnectWifi"] = ssController.DisonnectWifi
   funcMap[urlPrefix+"/sysset/getSysSetting"] = ssController.GetSysSetting
   funcMap[urlPrefix+"/sysset/updateSysSetting"] = ssController.UpdateSysSetting
   funcMap[urlPrefix+"/sysset/freedisk"] = ssController.DiskInfo
@@ -173,6 +179,8 @@
   funcMap[urlPrefix+"/cluster/updateClusterName"] = clusterController.UpdateClusterName
   funcMap[urlPrefix+"/cluster/leave"] = clusterController.Leave
   funcMap[urlPrefix+"/cluster/findIpByNode"] = clusterController.FindIpByNode
   funcMap[urlPrefix+"/cluster/status"] = clusterController.GetClusterStat
   funcMap[urlPrefix+"/cluster/update2Master"] = clusterController.Update2Master
   sysMenuC := new(controllers.SysMenuController)
   funcMap["/data/api-u/sysmenus/tree"] = sysMenuC.MenuTree
@@ -266,17 +274,19 @@
   for key, _ := range funcMap {
      pubTopics = append(pubTopics, key)
   }
   return funcMap, pubTopics
}
//测试接收全网消息
// 测试接收全网消息
func dealSubMsg(ctx context.Context, ms *bhomeclient.MicroNode) {
   fmt.Println("dealSubMsg")
   for {
      select {
      case <-ctx.Done():
         return
      case msg := <-ms.SubCh:
         logger.Debug("recv sub msg topic:", string(msg.Topic), " data:", string(msg.Data))
         logger.Debug("recv sub msg topic:", string(msg.Topic), " data len:", len(msg.Data))
         service.PersistentWrapper(string(msg.Topic), msg.Data)
      }
   }