package main import ( commonConfig "cicv-data-closedloop/aarch64/pjisuv/common/config" commonService "cicv-data-closedloop/aarch64/pjisuv/common/service" masterConfig "cicv-data-closedloop/aarch64/pjisuv/master/config" masterService "cicv-data-closedloop/aarch64/pjisuv/master/service" "cicv-data-closedloop/common/config/c_log" ) func init() { // 初始化日志配置 // runtime.GOMAXPROCS(1) c_log.InitLog(commonConfig.LogDir, commonConfig.MasterLogPrefix) //c_log.InitLog("/userdata/cicv-data-closedloop/log/", "pjisuv-master") // 初始化本地配置文件(第1处配置,在本地文件) commonConfig.InitLocalConfig() // 初始化Oss连接信息 commonConfig.InitOssConfig() // 初始化业务逻辑配置信息,配置文件在oss上(第2处配置,在oss文件) commonConfig.InitCloudConfig() // 初始化数据闭环平台的配置(第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() // 定时上传故障码日志 masterService.ForFaultCodeLog() } func main() { // 1 负责打包数据到data目录 go commonService.BagRecord(commonConfig.CloudConfig.Hosts[0].Name) // 2 启动第4个线程,负责监控故障,并修改timeWindow go masterService.ProduceWindow() // 3 go masterService.RunTimeWindowProducerQueue() // 4 排队运行时间窗口 go commonService.RunTimeWindowConsumerQueue() //// todo 算法比赛临时使用 //go service.ForCompetition() // 阻塞主线程,等待其他线程执行。 select {} }