package main import ( "context" "flag" "os" "os/signal" "path" "strconv" "syscall" "sdkCompare/cache" "sdkCompare/config" "sdkCompare/db" "sdkCompare/serve" "basic.com/valib/logger.git" vaversion "basic.com/valib/version.git" ) const procName = "faceCompare" func init() { flag.Parse() vaversion.Usage() } func main() { err := config.Init() if err != nil { return } var logFile = path.Join(config.LogConf.Path, "faceCompare.log") // 日志初始化 logger.InitLogger(logFile, config.LogConf.Level, config.LogConf.MaxSize, config.LogConf.MaxBackups, config.LogConf.MaxAge) logger.Info("logger init success !") if err := db.ConnectDB(); err != nil { logger.Error(err.Error()) return } cache.InitCache() serveUrl := "tcp://0.0.0.0:" serveUrl = serveUrl + strconv.Itoa(config.MainConf.ServePort) logger.Infof("%s serve url:%s", procName, serveUrl) var ctx, cancel = context.WithCancel(context.Background()) serve.Start(ctx, serveUrl, config.MainConf.WorkerNum) quit := make(chan os.Signal) signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM) <-quit logger.Info("Shutting down server...") cancel() }