master.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package main
  2. import (
  3. commonConfig "cicv-data-closedloop/aarch64/kinglong/common/config"
  4. commonInit "cicv-data-closedloop/aarch64/kinglong/common/init"
  5. commonService "cicv-data-closedloop/aarch64/kinglong/common/service"
  6. masterConfig "cicv-data-closedloop/aarch64/kinglong/master/package/config"
  7. masterService "cicv-data-closedloop/aarch64/kinglong/master/package/service"
  8. "cicv-data-closedloop/common/config/c_log"
  9. )
  10. func init() {
  11. // 初始化日志配置
  12. //runtime.GOMAXPROCS(1)
  13. // 初始化日志配置
  14. c_log.InitLog("mnt/media/sda1/cicv-data-closedloop/log", "kinglong-master")
  15. commonInit.Init()
  16. // 初始化加载触发器插件文件
  17. masterConfig.InitTriggerConfig()
  18. // 初始化rpc监听
  19. commonConfig.InitKillSignalListener(commonConfig.CloudConfig.Hosts[0].Ip)
  20. // 等待重启,接收到重启信号,会把信号分发给以下channel
  21. go commonService.WaitKillSelf()
  22. }
  23. func main() {
  24. // 1 负责打包数据到data目录
  25. go commonService.BagRecord(commonConfig.CloudConfig.Hosts[0].Name)
  26. // 2 启动第4个线程,负责监控故障,并修改timeWindow
  27. go masterService.PrepareTimeWindowProducerQueue()
  28. // 3
  29. go masterService.RunTimeWindowProducerQueue()
  30. // 4 排队运行时间窗口
  31. go commonService.RunTimeWindowConsumerQueue(commonConfig.CloudConfig.Hosts[0].Name)
  32. // 阻塞主线程,等待其他线程执行。
  33. select {}
  34. }