slave.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package main
  2. import (
  3. "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. slaveConfig "cicv-data-closedloop/aarch64/kinglong/slave/package/config"
  7. slaveService "cicv-data-closedloop/aarch64/kinglong/slave/package/service"
  8. "cicv-data-closedloop/common/config/c_log"
  9. )
  10. // init 初始化函数
  11. func init() {
  12. //runtime.GOMAXPROCS(1)
  13. c_log.InitLog("mnt/media/sda1/cicv-data-closedloop/log", "kinglong-master")
  14. commonInit.Init()
  15. slaveConfig.InitTcpListener()
  16. config.InitKillSignalListener(config.CloudConfig.Hosts[1].Ip)
  17. // 等待重启,接收到重启信号,会把信号分发给以下channel
  18. go commonService.WaitKillSelf()
  19. }
  20. // main 主函数
  21. func main() {
  22. // 1 负责打包数据到data目录
  23. go commonService.BagRecord(config.CloudConfig.Hosts[1].Name)
  24. // 2 负责监控故障,并修改timeWindow
  25. go slaveService.PrepareTimeWindowProducerQueue()
  26. // 3
  27. go slaveService.RunTimeWindowProducerQueue()
  28. // 4 排队运行时间窗口
  29. go commonService.RunTimeWindowConsumerQueue(config.CloudConfig.Hosts[1].Name)
  30. // 阻塞主线程,等待其他线程执行。
  31. select {}
  32. }