timer.go 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. package initialize
  2. import (
  3. "fmt"
  4. "log-server/service/dataStatistics"
  5. "log-server/service/log"
  6. "log-server/service/rentComputer"
  7. "log-server/service/system"
  8. "log-server/service/task"
  9. "log-server/config"
  10. "log-server/global"
  11. "log-server/utils"
  12. )
  13. var serviceStatisticsLog = new(log.ServiceStatisticsLog)
  14. var ServiceLogList = new(log.ServiceLogList)
  15. var syncData = new(task.SyncData)
  16. var serviceRentComputer = new(rentComputer.ServiceRentComputer)
  17. var serviceWeChatScannerApi = new(dataStatistics.ServiceWeChatScannerApi)
  18. var serviceDataAbnormalRate = new(dataStatistics.ServiceDataAbnormalRate)
  19. var serviceWeChatScannerDetailed = new(dataStatistics.ServiceWeChatScannerDetailed)
  20. var robotService = new(system.RobotService)
  21. func Timer() {
  22. if global.GVA_CONFIG.Timer.Start {
  23. for i := range global.GVA_CONFIG.Timer.Detail {
  24. go func(detail config.Detail) {
  25. _, err := global.GVA_Timer.AddTaskByFunc("ClearDB", global.GVA_CONFIG.Timer.Spec, func() {
  26. err := utils.ClearTable(global.GVA_DB, detail.TableName, detail.CompareField, detail.Interval)
  27. if err != nil {
  28. fmt.Println("timer error:", err)
  29. }
  30. })
  31. if err != nil {
  32. fmt.Println("add timer error:", err)
  33. }
  34. }(global.GVA_CONFIG.Timer.Detail[i])
  35. }
  36. }
  37. // 定时更新前一天的统计数据
  38. _, err := global.GVA_Timer.AddTaskByFunc("StatisticsLog", "2 8 5 * * * ", serviceStatisticsLog.CreateStatisticsLog)
  39. if err != nil {
  40. fmt.Println("add taskCode timer error:", err)
  41. }
  42. //定时同步电脑相关的统计数据
  43. _, err = global.GVA_Timer.AddTaskByFunc("CreateComputerStatisticsData", "40 9,19,29,39,49,59 7-23 * * * ", serviceStatisticsLog.CreateComputerStatisticsData)
  44. if err != nil {
  45. fmt.Println("add CreateComputerStatisticsData timer error:", err)
  46. }
  47. // 同步游戏相关的统计数据
  48. _, err = global.GVA_Timer.AddTaskByFunc("TodayCreateStatisticsGameInfoLog", "2 8,18,28,38,48,58 6-23 * * * ", serviceStatisticsLog.TodayCreateStatisticsGameInfoLog)
  49. if err != nil {
  50. fmt.Println("add TodayCreateStatisticsGameInfoLog timer error:", err)
  51. }
  52. // 同步任务统计数据
  53. _, err = global.GVA_Timer.AddTaskByFunc("TaskStatisticsDataCache", "20 0/3 6-23 * * * ", serviceStatisticsLog.TaskStatisticsDataCache)
  54. if err != nil {
  55. fmt.Println("add TaskStatisticsDataCache timer error:", err)
  56. }
  57. // 重试失败数据
  58. _, err = global.GVA_Timer.AddTaskByFunc("createFailLog", "2 5,15,25,35,45,55 6-23 * * * ", ServiceLogList.CreateFailLog)
  59. if err != nil {
  60. fmt.Println("everyDayResetStatisticsCache timer error:", err)
  61. }
  62. // 定时检查电脑上报
  63. _, err = global.GVA_Timer.AddTaskByFunc("RegularCheckPc", "2 57 8-23 * * * ", serviceStatisticsLog.RegularCheckPc)
  64. if err != nil {
  65. fmt.Println("RegularCheckPc timer error:", err)
  66. }
  67. // 新建日志表
  68. _, err = global.GVA_Timer.AddTaskByFunc("RegularCreateLogingTable", "2 1 19 20 * * ", ServiceLogList.RegularCreateLogingTable)
  69. if err != nil {
  70. fmt.Println("add RegularCreateLogingTable timer error:", err)
  71. }
  72. // 定时删缓存
  73. _, err = global.GVA_Timer.AddTaskByFunc("RegularDelCheckData", "2 33 11 * * *", serviceStatisticsLog.RegularDelCheckData)
  74. if err != nil {
  75. fmt.Println("add RegularDelCheckData timer error:", err)
  76. }
  77. //定时添加任务
  78. _, err = global.GVA_Timer.AddTaskByFunc("EveryDaySyncTaskData", "30 22 21 * * *", syncData.EveryDaySyncTaskData)
  79. if err != nil {
  80. fmt.Println("add EveryDaySyncTaskData timer error:", err)
  81. }
  82. //同步任务数据
  83. _, err = global.GVA_Timer.AddTaskByFunc("SyncTaskData", "2 0/3 1-23 * * *", syncData.SyncTaskData)
  84. if err != nil {
  85. fmt.Println("add SyncTaskData timer error:", err)
  86. }
  87. // 数优任务统计
  88. _, err = global.GVA_Timer.AddTaskByFunc("DayTargetDataStatistics", "40 2 5 * * *", syncData.DayTargetDataStatistics)
  89. if err != nil {
  90. fmt.Println("add DayTargetDataStatistics timer error:", err)
  91. }
  92. // 定时检查是否有电脑到期,修改租机状态@every 1s
  93. _, err = global.GVA_Timer.AddTaskByFunc("CheckIsExpire", "0 0/5 * * * *", serviceRentComputer.CheckIsExpire)
  94. if err != nil {
  95. fmt.Println("add CheckIsExpire timer error:", err)
  96. }
  97. // 定时生成租机每日台账@every 1s
  98. _, err = global.GVA_Timer.AddTaskByFunc("CreateRentComputerLedger", "0 30 23 * * *", serviceRentComputer.CreateRentComputerLedger)
  99. if err != nil {
  100. fmt.Println("add CreateRentComputerLedger timer error:", err)
  101. }
  102. //定时获取扫码平台余额,每小时执行一次
  103. //_, err = global.GVA_Timer.AddTaskByFunc("SyncGetWeChatScannerBalance", "0 58 * * * *", serviceWeChatScannerApi.SyncGetWeChatScannerBalance)
  104. _, err = global.GVA_Timer.AddTaskByFunc("SyncGetWeChatScannerBalance", "0 58 * * * *", serviceWeChatScannerApi.SyncGetWeChatScannerBalance)
  105. if err != nil {
  106. fmt.Println("add SyncGetWeChatScannerBalance timer error:", err)
  107. }
  108. //定时更新异常率
  109. _, err = global.GVA_Timer.AddTaskByFunc("SyncAbnormalRateByBatch", "0 1,31 * * * *", serviceDataAbnormalRate.SyncAbnormalRateByBatch)
  110. if err != nil {
  111. fmt.Println("add SyncAbnormalRateByBatch timer error:", err)
  112. }
  113. //定时更新当日微信扫码订单列表
  114. _, err = global.GVA_Timer.AddTaskByFunc("SyncTodayWeChatScannerDetailed", "0 3,33 * * * *", serviceWeChatScannerDetailed.SyncTodayWeChatScannerDetailed)
  115. if err != nil {
  116. fmt.Println("add SyncTodayWeChatScannerDetailed timer error:", err)
  117. }
  118. //0点更新昨日微信扫码订单列表
  119. _, err = global.GVA_Timer.AddTaskByFunc("SyncYesterdayWeChatScannerDetailed", "1 1 0 * * *", serviceWeChatScannerDetailed.SyncYesterdayWeChatScannerDetailed)
  120. if err != nil {
  121. fmt.Println("add SyncYesterdayWeChatScannerDetailed timer error:", err)
  122. }
  123. //半小时同步一次机房设备信息,播报是否有异常
  124. _, err = global.GVA_Timer.AddTaskByFunc("SyncJfDevicesMessage", "0 0,30 * * * *", robotService.SyncJfDevicesMessage)
  125. if err != nil {
  126. fmt.Println("add SyncJfDevicesMessage timer error:", err)
  127. }
  128. //// 活跃定时推送消息
  129. //_, err = global.GVA_Timer.AddTaskByFunc("TaskMsgSend", "20 0/2 * * * *", syncData.TaskMsgSend)
  130. //if err != nil {
  131. // fmt.Println("add DayTargetDataStatistics timer error:", err)
  132. //}
  133. //
  134. //// 付费定时推送消息
  135. //_, err = global.GVA_Timer.AddTaskByFunc("TaskMsgSend", "40 0/2 * * * *", syncData.TaskFreeMsgSend)
  136. //if err != nil {
  137. // fmt.Println("add DayTargetDataStatistics timer error:", err)
  138. //}
  139. }