package init

import (
	"cicv-data-closedloop/kinglong/common/cfg"
	"cicv-data-closedloop/kinglong/common/svc"
)

func Init() {

	//// 循环打印cpu占用
	//go ResourceOccupancy()

	// 初始化本地配置文件(第1处配置,在本地文件)
	cfg.InitLocalConfig()

	// 初始化Oss连接信息
	cfg.InitOssConfig()

	// 初始化业务逻辑配置信息,配置文件在oss上(第2处配置,在oss文件)
	cfg.InitCloudConfig()

	go cfg.RefreshCloudConfig()

	// 初始化数据闭环平台的配置(第3处配置,在数据闭环平台接口)
	cfg.InitPlatformConfig()

	// 初始化ros节点
	cfg.InitRosConfig()

	// 维护data目录缓存的包数量
	go svc.BagCacheClean()

	// 磁盘占用过高时根据缓存策略处理copy目录
	go svc.DiskClean()

}

//func ResourceOccupancy() {
//	for {
//		// 获取 CPU 使用率
//		cpuPercent, err := cpu.Percent(time.Second, false)
//		if err != nil {
//			log.MonitorLogger.Info("获取cpu使用率报错:", err)
//			return
//		}
//
//		var m runtime.MemStats
//		runtime.ReadMemStats(&m)
//
//		// 计算内存占用百分比
//		memoryPercent := float64(m.Alloc) / float64(m.Sys) * 100.0
//
//		log.MonitorLogger.Info("cpu使用率为:", cpuPercent[0]*100, "%,内存使用率为:", memoryPercent, "%")
//
//		// 等待一段时间,例如1秒
//		time.Sleep(time.Second)
//	}
//}