123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package main
- import (
- commonConfig "cicv-data-closedloop/aarch64/pji/common/config"
- commonService "cicv-data-closedloop/aarch64/pji/common/service"
- "cicv-data-closedloop/aarch64/pji/common/variable"
- masterConfig "cicv-data-closedloop/aarch64/pji/master/package/config"
- masterService "cicv-data-closedloop/aarch64/pji/master/package/service"
- "cicv-data-closedloop/common/config/c_log"
- "cicv-data-closedloop/common/util"
- "runtime"
- "time"
- )
- var applicationName = "pji-master"
- func init() {
- runtime.GOMAXPROCS(1)
- // 初始化日志配置
- c_log.InitLog(variable.LogDir, applicationName)
- // 初始化本地配置文件(第1处配置,在本地文件)
- commonConfig.InitLocalConfig(variable.LocalConfigPath)
- // 初始化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()
- commonConfig.InitKillSignalListener(commonConfig.CloudConfig.Hosts[0].Ip)
- // 等待重启,接收到重启信号,会把信号分发给以下channel
- go commonService.WaitKillSelf()
- masterConfig.InitNacos()
- // 先采集地图bag包
- masterService.CollectOneMsg()
- }
- func main() {
- // 1 负责打包数据到data目录
- go commonService.BagRecord(commonConfig.CloudConfig.Hosts[0].Name)
- time.Sleep(time.Duration(10) * time.Second)
- // 2 负责监控故障,并修改timeWindow
- go masterService.PrepareTimeWindowProducerQueue()
- // 3 将时间窗口内的包全部move出去,并等待当前时间窗口结束触发上传
- go masterService.RunTimeWindowProducerQueue()
- // 4 排队运行时间窗口
- go commonService.RunTimeWindowConsumerQueue(commonConfig.CloudConfig.Hosts[0].Name)
- // 阻塞主线程,等待其他线程执行。
- select {}
- }
|