| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package main
- import (
- "time"
- "lc/common/onvif/discovery"
- "lc/common/util"
- )
- // /usr/local/srs/objs srs的服务器路径
- // 球机 一键报警
- var pool *util.Pool
- var IDGen util.IdWorker
- var appName = "camera"
- var appVersion = "1.0.1"
- func DiscoveryCamera(args ...interface{}) interface{} {
- for {
- devices, err := discovery.StartDiscovery(5 * time.Second)
- if err == nil && len(devices) > 0 {
- for _, d := range devices {
- GetLcDeviceMgr().Update(d.ID, d.XAddr)
- }
- }
- time.Sleep(10 * time.Minute)
- }
- }
- func GetNextUint64() uint64 {
- u64, err := IDGen.NextId()
- if err != nil {
- u64 = util.MlNow().Unix()
- }
- return uint64(u64)
- }
- func main() {
- util.InitLogrus("release")
- if err := loadAppConfig(); err != nil {
- return
- }
- IDGen.InitIdWorker(1000, 1)
- GetMQTTMgr()
- if err := GetLcDeviceMgr().initAllLcDevice(); err != nil {
- return
- }
- pool = util.NewPool(5)
- pool.Add(DiscoveryCamera, 1) //发现摄像头
- pool.Add(GetMQTTMgr().MQTTMessageHandle, 2) //发布进程
- pool.Add(GetMQTTMgr().MQTTConnectMgr, 3) //保持连接
- pool.Add(GetLcDeviceMgr().Handle, 4) //mqtt来消息执行
- pool.Run()
- pool.Wait()
- }
|