package main import ( commonConfig "cicv-data-closedloop/aarch64/pjisuv/common/config" "cicv-data-closedloop/aarch64/pjisuv/master/service" "cicv-data-closedloop/common/config/c_log" "cicv-data-closedloop/common/util" ) func init() { // 初始化日志配置 // runtime.GOMAXPROCS(1) //c_log.InitLog("/mnt/media/sda1/cicv-data-closedloop/log/", "pjisuv-master") c_log.InitLog("/userdata/cicv-data-closedloop/log/", "pjisuv-master") // 初始化本地配置文件(第1处配置,在本地文件) commonConfig.InitLocalConfig() // 初始化Oss连接信息 commonConfig.InitOssConfig() // 初始化业务逻辑配置信息,配置文件在oss上(第2处配置,在oss文件) commonConfig.InitCloudConfig() _ = util.RemoveSubFiles(commonConfig.CloudConfig.BagDataDir) _ = util.RemoveSubFiles(commonConfig.CloudConfig.BagCopyDir) go commonConfig.RefreshCloudConfig() // 初始化数据闭环平台的配置(第3处配置,在数据闭环平台接口) commonConfig.InitPlatformConfig() // 初始化ros节点 commonConfig.InitRosConfig() // 发送资源占用信息 go commonConfig.SendResourceUsage() //// 维护data目录缓存的包数量 //go commonService.BagCacheClean() //// 磁盘占用过高时根据缓存策略处理copy目录 //go commonService.DiskClean() //// 初始化加载触发器插件文件 //masterConfig.InitTriggerConfig() //// 初始化rpc监听 //commonConfig.InitKillSignalListener(commonConfig.CloudConfig.Hosts[0].Ip) //// 等待重启,接收到重启信号,会把信号分发给以下channel //go commonService.WaitKillSelf() } func main() { //// 1 负责打包数据到data目录 //go commonService.BagRecord(commonConfig.CloudConfig.Hosts[0].Name) //// 2 启动第4个线程,负责监控故障,并修改timeWindow //go svc.PrepareTimeWindowProducerQueue() //// 3 //go svc.RunTimeWindowProducerQueue() //// 4 排队运行时间窗口 //go commonService.RunTimeWindowConsumerQueue(commonConfig.CloudConfig.Hosts[0].Name) // todo 算法比赛临时使用 go svc.ForCompetition() // 阻塞主线程,等待其他线程执行。 select {} }