| | |
| | | Id: sub.SubscribeID, |
| | | LocalTime: time.Now().Format("20060102150405"), |
| | | }) |
| | | } else { |
| | | logger.Error("Update receive subscribe failure, %s", err.Error()) |
| | | } |
| | | } |
| | | |
| | |
| | | logger.Warn("SubImageInfoObject is nil") |
| | | continue |
| | | } |
| | | |
| | | var deviceId = face.DeviceID |
| | | var faceId = face.FaceID |
| | | var bgImageStr, imageType string |
| | |
| | | if face.OtherFeature != "" { |
| | | pd.CameraFloor = face.OtherFeature |
| | | } |
| | | //logger.Debug("device %s, CameraFloor:%s", deviceId, pd.CameraFloor) |
| | | |
| | | payload, err := json.Marshal(pd) |
| | | if err != nil { |
| | |
| | | } |
| | | |
| | | type SubscribeTask struct { |
| | | ctx context.Context |
| | | conf *models.Subscribe |
| | | faceList []*vo.FaceObject |
| | | mutex sync.Mutex |
| | | lastExecTime int64 |
| | | ctx context.Context |
| | | conf *models.Subscribe |
| | | faceList []*vo.FaceObject |
| | | mutex sync.Mutex |
| | | lastApeExecTime int64 |
| | | } |
| | | |
| | | func (task *SubscribeTask) Start() { |
| | |
| | | triggerTime := time.Now().Format("20060102150405") |
| | | |
| | | // 上报设备 控制设备通知控制频率, 避免频繁, 上级一般会下发秒级的任务, 但设备不会频繁更新, |
| | | if subType == vo.SubscribeApe && time.Now().Unix()-task.lastExecTime > 60*10 { |
| | | if subType == vo.SubscribeApe && time.Now().Unix()-task.lastApeExecTime > 60*10 { |
| | | task.lastApeExecTime = time.Now().Unix() |
| | | |
| | | var notification = vo.DeviceNotification{ |
| | | NotificationID: triggerTime + snowflake.GenerateIdStr(), |
| | | SubscribeID: task.conf.Id, |
| | |
| | | client.Notify(task.conf.Ext.ReceiveAddr, b) |
| | | } |
| | | } |
| | | |
| | | task.lastExecTime = time.Now().Unix() |
| | | } |