master.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package main
  2. import (
  3. commonConfig "cicv-data-closedloop/pji/common/cfg"
  4. commonInit "cicv-data-closedloop/pji/common/init"
  5. commonService "cicv-data-closedloop/pji/common/svc"
  6. masterConfig "cicv-data-closedloop/pji/master/pkg/cfg"
  7. masterService "cicv-data-closedloop/pji/master/pkg/svc"
  8. "runtime"
  9. "time"
  10. )
  11. func init() {
  12. runtime.GOMAXPROCS(1)
  13. commonInit.Init()
  14. masterConfig.InitTriggerConfig()
  15. commonConfig.InitKillSignalListener(commonConfig.CloudConfig.Hosts[0].Ip)
  16. // 等待重启,接收到重启信号,会把信号分发给以下channel
  17. go commonService.WaitKillSelf()
  18. }
  19. func main() {
  20. // 1 负责打包数据到data目录
  21. go commonService.BagRecord(commonConfig.CloudConfig.Hosts[0].Name)
  22. time.Sleep(time.Duration(10) * time.Second)
  23. // 2 负责监控故障,并修改timeWindow
  24. go masterService.PrepareTimeWindowProducerQueue()
  25. // 3 将时间窗口内的包全部move出去,并等待当前时间窗口结束触发上传
  26. go masterService.RunTimeWindowProducerQueue()
  27. // 4 排队运行时间窗口
  28. go commonService.RunTimeWindowConsumerQueue(commonConfig.CloudConfig.Hosts[0].Name)
  29. // 阻塞主线程,等待其他线程执行。
  30. select {}
  31. }