liuxiaolong
2020-06-05 7c811247ecf143e08c576986a884bedadc57dd66
main.go
@@ -2,28 +2,68 @@
import (
   "flag"
   "github.com/golang/glog"
   "strconv"
   "webserver/cache"
   "webserver/extend/config"
   "webserver/models"
   "webserver/extend/sys"
   "webserver/router"
   "webserver/service"
   "basic.com/dbapi.git"
   "basic.com/valib/logger.git"
   "github.com/spf13/viper"
)
func main() {
   go service.TestPushImgMsg()
   envirment := flag.String("e", "dev", "")
   flag.Usage = func() {
      glog.Exit("flag parse usage !")
   }
var envirment = flag.String("e", "pro", "")
var dbIp = flag.String("dbIp", "127.0.0.1", "default dbIp=127.0.0.1")
var dbPort = flag.String("dbPort", "8001", "default dbPort=8001")
var surveyPort = flag.Int("surveyPort", 40007, "survey port") //心跳
var pubPort = flag.Int("pubPort", 50007, "pubsub port")       //数据更新
var initchan = make(chan bool)
func init() {
   flag.Parse()
   flag.Lookup("alsologtostderr").Value.Set("true")
   flag.Lookup("log_dir").Value.Set("./log")
   p, err := strconv.Atoi(*dbPort)
   if err != nil {
      p = 8001
   }
   dbapi.Init(*dbIp, p)
   config.Init(*envirment)
   models.Init()
   var logFile = "./logger/"
   if viper.GetString("LogBasePath") != "" {
      logFile = viper.GetString("LogBasePath")
   }
   logFile = logFile + "/webserver.log"
   var logSaveDays = 15
   // 日志初始化
   if viper.IsSet("LogLevel") &&
      viper.GetInt("LogLevel") >= logger.PanicLevel &&
      viper.GetInt("LogLevel") <= logger.DebugLevel {
      logger.Config(logFile, viper.GetInt("LogLevel"))
   } else {
      logger.Config(logFile, logger.DebugLevel)
   }
   logger.SetSaveDays(logSaveDays)
   logger.Info("loginit success !")
}
// @title Swagger API
// @version 2.0
// @description analysis webserver
// @securityDefinitions.apikey ApiKeyAuth
// @in header
// @name Authorization
// @BasePath /
func main() {
   flag.Parse()
   go cache.Init(initchan, *dbIp, *surveyPort, *pubPort)
   logger.Debug("heartBeat with db done!", <-initchan)
   // 统计系统运行状态
   go sys.GatherStat()
   r := router.NewRouter()
   r.Run("0.0.0.0:8000")
   defer models.CloseDB()
   //defer new(gorun.SimpleFaceDetect).FaceDetactClose()
}