From 63645d248c765244488cd34dbc1bb6528ca6b7c7 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期二, 05 九月 2023 09:58:13 +0800 Subject: [PATCH] 修复编译 --- version-control/main.go | 264 ++++++++++++++++++++++++++-------------------------- 1 files changed, 132 insertions(+), 132 deletions(-) diff --git a/version-control/main.go b/version-control/main.go index 43c9602..04c17a5 100644 --- a/version-control/main.go +++ b/version-control/main.go @@ -1,132 +1,132 @@ -package main - -import ( - "context" - "flag" - "fmt" - "os" - "os/signal" - "sync" - "syscall" - - "vamicro/config" - "vamicro/version-control/api" - "vamicro/version-control/controller" - "vamicro/version-control/service" - - "basic.com/valib/bhomeclient.git" - "basic.com/valib/bhomedbapi.git" - "basic.com/valib/logger.git" - "basic.com/valib/version.git" -) - -var ( - env = flag.String("e", "pro", "") - procName = service.ProcName - proc = &bhomeclient.ProcInfo{ - Name: procName, //杩涚▼鍚嶇О - ID: procName, //杩涚▼id - Info: "", //杩涚▼鐨勬弿杩颁俊鎭紝鐢ㄤ簬鍖哄垎鍚屼竴杩涚▼鍚嶇О涓嬪涓繘绋� - } -) - -func init() { - flag.Parse() - vaversion.Usage() - - config.Init(*env) - - // 鏃ュ織鍒濆鍖� - var logFile = config.LogConf.Path + "vamicro-" + procName + ".log" - logger.InitLogger(logFile, config.LogConf.Level, config.LogConf.MaxSize, config.LogConf.MaxBackups, config.LogConf.MaxAge) - logger.Info("log init success !") -} - -func main() { - //闃叉澶氳繘绋嬭繍琛� - lockFile := "/tmp/run/version-control.lock" - var lock *os.File - lock, err := os.Create(lockFile) - if err != nil { - fmt.Println("create lock file error", err) - os.Exit(1) - } - - defer os.Remove(lockFile) - defer lock.Close() - - err = syscall.Flock(int(lock.Fd()), syscall.LOCK_EX|syscall.LOCK_NB) - if err != nil { - fmt.Println("report service is running ") - os.Exit(1) - } - - defer syscall.Flock(int(lock.Fd()), syscall.LOCK_UN) - - wg := &sync.WaitGroup{} - q := make(chan os.Signal, 1) - signal.Notify(q, os.Interrupt, os.Kill, syscall.SIGTERM) - - fm, pubTopics := initFuncMap() - ctx, cancel := context.WithCancel(context.Background()) - - var reg = &bhomeclient.RegisterInfo{ - Proc: *proc, - Channel: nil, - PubTopic: pubTopics, - SubTopic: []string{}, - } - ms, err := bhomeclient.NewMicroNode(ctx, q, config.Server.AnalyServerId, reg, nil) - if err != nil { - return - } - bhomedbapi.InitGetNetNode(ms.GetLocalNetNodeByTopic) - bhomedbapi.InitDoReq(ms.RequestOnly) - bhomedbapi.InitLog(logger.Debug) - - server := api.InitRouter(wg, ms) - - go ms.StartServer(fm) - - go service.SelfUpdateStart(ctx, ms) //鑷姩鏇存柊 - - go service.NoticeTick(ctx) //鏇存柊鎻愰啋 - - go service.AuthorizationUpdate(ctx, ms) //鏇存柊鎺堟潈 - - go service.BakSchedule(ctx) - - <-q - logger.Info("user signalled...") - - // shutdown http service gracefully - if err := server.Shutdown(ctx); nil != err { - logger.Fatal("server shutdown failed, err:", err) - } - - cancel() - wg.Wait() - logger.Info("all sub threads exited...") - - //upgrade.CheckVersion() - - //fmt.Println("appver.BuildTime:", appver.BuildTime, "IvyTest:", IvyTest) - //ctx, cancel := context.WithCancel(context.Background()) -} - -const urlPrefix = "/data/api-v" - -func initFuncMap() (map[string]bhomeclient.MicroFunc, []string) { - funcMap := make(map[string]bhomeclient.MicroFunc) - vController := new(controller.VersionController) - - funcMap[urlPrefix+"/version/check"] = vController.VersionCheck - funcMap[urlPrefix+"/version/upgrade"] = vController.UpgradeVersion - funcMap[urlPrefix+"/version/snBus"] = vController.SnWithBus - - var pubTopics []string - for key, _ := range funcMap { - pubTopics = append(pubTopics, key) - } - return funcMap, pubTopics -} +package main + +import ( + "context" + "flag" + "fmt" + "os" + "os/signal" + "sync" + "syscall" + + "vamicro/config" + "vamicro/version-control/api" + "vamicro/version-control/controller" + "vamicro/version-control/service" + + "basic.com/valib/bhomeclient.git" + "basic.com/valib/bhomedbapi.git" + "basic.com/valib/logger.git" + "basic.com/valib/version.git" +) + +var ( + env = flag.String("e", "pro", "") + procName = service.ProcName + proc = &bhomeclient.ProcInfo{ + Name: procName, //杩涚▼鍚嶇О + ID: procName, //杩涚▼id + Info: "", //杩涚▼鐨勬弿杩颁俊鎭紝鐢ㄤ簬鍖哄垎鍚屼竴杩涚▼鍚嶇О涓嬪涓繘绋� + } +) + +func init() { + flag.Parse() + vaversion.Usage() + + config.Init(*env) + + // 鏃ュ織鍒濆鍖� + var logFile = config.LogConf.Path + "vamicro-" + procName + ".log" + logger.InitLogger(logFile, config.LogConf.Level, config.LogConf.MaxSize, config.LogConf.MaxBackups, config.LogConf.MaxAge) + logger.Info("log init success !") +} + +func main() { + //闃叉澶氳繘绋嬭繍琛� + lockFile := "/tmp/run/version-control.lock" + var lock *os.File + lock, err := os.Create(lockFile) + if err != nil { + fmt.Println("create lock file error", err) + os.Exit(1) + } + + defer os.Remove(lockFile) + defer lock.Close() + + err = syscall.Flock(int(lock.Fd()), syscall.LOCK_EX|syscall.LOCK_NB) + if err != nil { + fmt.Println("report service is running ") + os.Exit(1) + } + + defer syscall.Flock(int(lock.Fd()), syscall.LOCK_UN) + + wg := &sync.WaitGroup{} + q := make(chan os.Signal, 1) + signal.Notify(q, os.Interrupt, os.Kill, syscall.SIGTERM) + + fm, pubTopics := initFuncMap() + ctx, cancel := context.WithCancel(context.Background()) + + var reg = &bhomeclient.RegisterInfo{ + Proc: *proc, + Channel: nil, + PubTopic: pubTopics, + SubTopic: []string{}, + } + ms, err := bhomeclient.NewMicroNode(ctx, q, config.Server.AnalyServerId, reg, nil) + if err != nil { + return + } + bhomedbapi.InitGetNetNode(ms.GetLocalNetNodeByTopic) + bhomedbapi.InitDoReq(ms.RequestOnly) + bhomedbapi.InitLog(logger.Debug) + + server := api.InitRouter(wg, ms) + + go ms.StartServer(fm) + + go service.SelfUpdateStart(ctx, ms) //鑷姩鏇存柊 + + go service.NoticeTick(ctx) //鏇存柊鎻愰啋 + + go service.AuthorizationUpdate(ctx, ms) //鏇存柊鎺堟潈 + + go service.BakSchedule(ctx) + + <-q + logger.Info("user signalled...") + + // shutdown http service gracefully + if err := server.Shutdown(ctx); nil != err { + logger.Fatal("server shutdown failed, err:", err) + } + + cancel() + wg.Wait() + logger.Info("all sub threads exited...") + + //upgrade.CheckVersion() + + //fmt.Println("appver.BuildTime:", appver.BuildTime, "IvyTest:", IvyTest) + //ctx, cancel := context.WithCancel(context.Background()) +} + +const urlPrefix = "/data/api-v" + +func initFuncMap() (map[string]bhomeclient.MicroFunc, []string) { + funcMap := make(map[string]bhomeclient.MicroFunc) + vController := new(controller.VersionController) + + funcMap[urlPrefix+"/version/check"] = vController.VersionCheck + funcMap[urlPrefix+"/version/upgrade"] = vController.UpgradeVersion + funcMap[urlPrefix+"/version/snBus"] = vController.SnWithBus + + var pubTopics []string + for key, _ := range funcMap { + pubTopics = append(pubTopics, key) + } + return funcMap, pubTopics +} -- Gitblit v1.8.0