liuxiaolong
2019-11-13 f26a0cab5bca17b7eab57f6330e576271e17a17f
main.go
@@ -1,57 +1,69 @@
package main
import (
   "basic.com/dbapi.git"
   "flag"
   "github.com/golang/glog"
   "github.com/robfig/cron"
   "strconv"
   "webserver/cache"
   "webserver/extend/config"
   "webserver/extend/logger"
   "webserver/extend/sys"
   "webserver/router"
   "webserver/service"
   "basic.com/dbapi.git"
   "basic.com/valib/logger.git"
   "github.com/spf13/viper"
)
var envirment = flag.String("e", "dev", "")
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() {
   var logFile = "./logger/webserver.log"
   var logSaveDays = 15
   // 日志初始化
   logger.Config(logFile, logger.DebugLevel)
   logger.SetSaveDays(logSaveDays)
   logger.Info("loginit success !")
   flag.Parse()
   service.InitService()
   p, err := strconv.Atoi(*dbPort)
   if err != nil {
      p = 8001
   }
   //*dbIp = "192.168.1.123"
   //*dbIp = "192.168.1.182"
   dbapi.Init(*dbIp, p)
   flag.Usage = func() {
      glog.Exit("flag parse usage !")
   }
   flag.Lookup("alsologtostderr").Value.Set("true")
   flag.Lookup("log_dir").Value.Set("./log")
   config.Init(*envirment)
   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() {
   c := cron.New()
   c.AddFunc("@ daily", func() {
      res := service.InitEnableStatus()
      logger.Debug(res)
   })
   c.Start()
   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:7100")
   //defer new(gorun.SimpleFaceDetect).FaceDetactClose()
}