package service import ( "cicv-data-closedloop/common/util" "sync" ) var ( MonitorQueue = make([]MonitorInfo, 0, QueueLength) QueueLength = 120 mu sync.Mutex // 用于保护MonitorQueue的互斥锁 ) type MonitorInfo struct { Time string } // CacheMonitorQueue 向MonitorQueue中添加一个新的MonitorInfo实例,如果队列已满,则替换最旧的元素 func CacheMonitorQueue() { mu.Lock() defer mu.Unlock() // 创建新的MonitorInfo实例,Time字段为当前时间的字符串表示 // 如果队列长度已经达到上限,移除最旧的元素 if len(MonitorQueue) >= QueueLength { MonitorQueue = MonitorQueue[1:] // 移除第一个元素 } // 将新的MonitorInfo实例添加到队列的末尾 MonitorQueue = append(MonitorQueue, MonitorInfo{Time: util.GetNowTimeCustom()}) }