zhangmeng
2019-10-30 467d125ef6ac819cc1e8bd1a8b5dcd00d491f624
main.go
@@ -1,34 +1,79 @@
package main
import (
   "fmt"
   "log"
   "net/http"
    "flag"
   _ "net/http/pprof"
   "github.com/long/test/camera"
   //   "github.com/long/test/httpclient"
   "github.com/long/test/sdk"
   "github.com/long/test/tasktag"
   //"time"
    "time"
   "taskpubsub/camera"
   "taskpubsub/sdk"
   "taskpubsub/tasktag"
   "taskpubsub/util"
   "basic.com/valib/logger.git"
   "github.com/spf13/viper"
)
func main() {
   // pprof 用于分析性能
   go func() {
      log.Println(http.ListenAndServe("192.168.1.124:6060", nil))
   }()
var initchan = make(chan bool)
var useShm bool
   sdk.Init()     //  获取所有算法id ,建立 sdk 主题, 建立sdk server(send, recv 运行)
   tasktag.Init() // 获取所有任务,建立任务标签, 在数据进入时, 打标签
   camera.Init()  //获取cid, taskid, sdkid ,关系
const (
   configFilePath  = "/opt/vasystem/config/"
   configFileType = "yaml"
   LOGBASEPATH = "/data/disk1/valog/taskpubsub.log"
)
   fmt.Println()
   fmt.Println("===================================")
   fmt.Println()
var envirment = flag.String("e", "pro", "")
   for {
func init(){
   viper.SetConfigType(configFileType)
   viper.SetConfigName(*envirment)
   viper.AddConfigPath(configFilePath)
   viper.AddConfigPath("./")
   err := viper.ReadInConfig()
   if err != nil {
      logger.Error("viper.ReadInConfig() Error")
      //panic(err)
   }
    var logFile = LOGBASEPATH
   if viper.GetString("LogBasePath") != "" {
      logFile = viper.GetString("LogBasePath") + "/taskpubsub.log"
   }
    // 日志初始化
   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)
   }
   var logSaveDays    =    15
    logger.SetSaveDays(logSaveDays)
   logger.Info("loginit success !")
   flag.BoolVar(&useShm, "shm", false, "use shm for performance")
}
func main() {
    flag.Parse()
    time.Sleep(time.Second)
   if useShm{
      logger.Info("USE SHARE MEMORY")
   }else{
      logger.Info("USE PIPE")
   }
   // pprof 用于分析性能
   go func() {
      logger.Info(http.ListenAndServe("0.0.0.0:6061", nil))
   }()
   go util.Init(initchan)
   logger.Info("init ok !!!!, start sdk, task, camera init process ....", <-initchan)
   sdk.Init(useShm)        //  获取所有算法id ,建立 sdk 主题, 建立sdk server(send, recv 运行)
   tasktag.Init()   // 获取所有任务,建立任务标签, 在数据进入时, 打标签
   camera.Init(useShm)   //获取cid, taskid, sdkid ,关系
   select {}
}