| 1234567891011121314151617181920212223242526272829 |
- package timer
- import (
- "smartIntersection_edge/service"
- "smartIntersection_edge/util/logger"
- "time"
- )
- func IsOnline() {
- t := time.NewTicker(1 * time.Minute) //每分钟
- for {
- select {
- case <-t.C:
- for _, device := range service.Devices {
- //符合条件
- if time.Now().Add(-2*time.Minute).After(device.LastTime) || device.LastTime.IsZero() {
- //TODO 向云端上报设备离线
- topic := service.MqttService.GetTopic(device.Info.Sn, service.TopicChanStatus)
- err := service.MqttService.Publish(topic, 0)
- delete(service.Devices, device.Info.Sn)
- if err != nil {
- continue
- }
- logger.Logger.Infof("%v 设备离线了", device.Info.ScreensName)
- }
- }
- }
- }
- }
|