timer.go 5.0 KB

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