chenshijun
2019-09-11 a45d5a83c5a283444a407d648432e9dd08f89478
main.go
@@ -1,34 +1,71 @@
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/"
   configFileName = "config"
   configFileType = "json"
   LOGBASEPATH = "/data/disk1/valog/taskpubsub.log"
)
   fmt.Println()
   fmt.Println("===================================")
   fmt.Println()
   for {
func init(){
   viper.SetConfigType(configFileType)
   viper.SetConfigName(configFileName)
   viper.AddConfigPath(configFilePath)
   viper.AddConfigPath("./")
   err := viper.ReadInConfig()
   if err != nil {
      panic(err)
   }
    var logFile = LOGBASEPATH
   if viper.GetString("LogBasePath") != "" {
      logFile = viper.GetString("LogBasePath") + "/taskpubsub.log"
   }
    var logSaveDays    =    15
    // 日志初始化
    logger.Config(logFile, logger.InfoLevel)
    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 {}
}