| | |
| | | "flag" |
| | | _ "net/http/pprof" |
| | | "time" |
| | | "fmt" |
| | | |
| | | "taskpubsub/camera" |
| | | "taskpubsub/sdk" |
| | |
| | | |
| | | var initchan = make(chan bool) |
| | | |
| | | var useShm bool |
| | | |
| | | func init(){ |
| | | var logFile = "./taskpubsub.log" |
| | | var logSaveDays = 15 |
| | |
| | | // 日志初始化 |
| | | logger.Config(logFile, logger.InfoLevel) |
| | | logger.SetSaveDays(logSaveDays) |
| | | logger.Info("loginit success !") |
| | | logger.Info("loginit success !") |
| | | |
| | | flag.BoolVar(&useShm, "shm", false, "use shm for performance") |
| | | } |
| | | |
| | | func main() { |
| | | func main() { |
| | | flag.Parse() |
| | | time.Sleep(time.Second) |
| | | |
| | | if useShm{ |
| | | logger.Info("USE SHARE MEMORY") |
| | | fmt.Println("USE SHARE MEMORY") |
| | | }else{ |
| | | logger.Info("USE PIPE") |
| | | fmt.Println("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() // 获取所有算法id ,建立 sdk 主题, 建立sdk server(send, recv 运行) |
| | | sdk.Init(useShm) // 获取所有算法id ,建立 sdk 主题, 建立sdk server(send, recv 运行) |
| | | tasktag.Init() // 获取所有任务,建立任务标签, 在数据进入时, 打标签 |
| | | camera.Init() //获取cid, taskid, sdkid ,关系 |
| | | camera.Init(useShm) //获取cid, taskid, sdkid ,关系 |
| | | select {} |
| | | } |