123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- package svc
- import (
- "cicv-data-closedloop/kinglong/common/cfg"
- commonConfig "cicv-data-closedloop/pji/common/cfg"
- "cicv-data-closedloop/pji/common/global"
- "cicv-data-closedloop/pji/common/log"
- "cicv-data-closedloop/pji/common/util"
- masterConfig "cicv-data-closedloop/pji/master/pkg/cfg"
- "time"
- )
- func DiskClean() {
- log.GlobalLogger.Info("清理timeWindow,启动!")
- for {
- time.Sleep(1000 * time.Millisecond)
-
- percent := util.GetDiskUsagePercent()
- if percent > commonConfig.CloudConfig.DiskUsage {
-
-
- policy := commonConfig.PlatformConfig.TaskCachePolicy
- if policy == "TTL" {
-
- if len(global.TimeWindowConsumerQueue) > 2 {
- deleteTimeWindow(1)
- }
- } else if policy == "STOP" {
-
- if len(global.TimeWindowConsumerQueue) > 2 {
- deleteTimeWindow(len(global.TimeWindowConsumerQueue) - 1)
- }
- } else if policy == "LRU" {
-
- if len(global.TimeWindowConsumerQueue) > 2 {
- indexToRemove := getIndexToRemoveForLRU()
- if indexToRemove != -1 {
- deleteTimeWindow(indexToRemove)
- }
- }
- } else {
- log.GlobalLogger.Error("未知的缓存策略:", policy)
- }
- }
- }
- }
- func deleteTimeWindow(indexToRemove int) {
- timeWindowToRemove := global.TimeWindowConsumerQueue[indexToRemove]
-
- faultTime := timeWindowToRemove.FaultTime
- dir := util.GetCopyDir(faultTime)
- err := util.RemoveDir(dir)
- if err != nil {
- log.GlobalLogger.Error("删除目录", dir, "失败:", err)
- }
- global.TimeWindowConsumerQueueMutex.Lock()
-
- global.TimeWindowConsumerQueue = append(global.TimeWindowConsumerQueue[:indexToRemove], global.TimeWindowConsumerQueue[indexToRemove+1:]...)
- global.TimeWindowConsumerQueueMutex.Unlock()
- }
- func getIndexToRemoveForLRU() int {
- lru := cfg.PlatformConfig.Lru
- i := len(lru) - 1
- for i >= 0 {
- for i2, window := range global.TimeWindowConsumerQueue {
- if masterConfig.LabelMapTriggerId[window.FaultTime] == lru[i] {
- return i2
- }
- }
- }
- return -1
- }
|