timer.go 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. package initialize
  2. import (
  3. "fmt"
  4. "log-server/service/dataStatistics"
  5. "log-server/service/fileManager"
  6. "log-server/service/levelMonitor"
  7. "log-server/service/log"
  8. "log-server/service/rentComputer"
  9. "log-server/service/system"
  10. "log-server/service/task"
  11. "log-server/config"
  12. "log-server/global"
  13. "log-server/utils"
  14. )
  15. var serviceStatisticsLog = new(log.ServiceStatisticsLog)
  16. var ServiceLogList = new(log.ServiceLogList)
  17. var syncData = new(task.SyncData)
  18. var serviceRentComputer = new(rentComputer.ServiceRentComputer)
  19. var serviceWeChatScannerApi = new(dataStatistics.ServiceWeChatScannerApi)
  20. var serviceDataAbnormalRate = new(dataStatistics.ServiceDataAbnormalRate)
  21. var serviceWeChatScannerDetailed = new(dataStatistics.ServiceWeChatScannerDetailed)
  22. var serviceDownLoadUrl = new(fileManager.ServiceDownLoadUrl)
  23. var robotService = new(system.RobotService)
  24. var imageRecordService = new(levelMonitor.ImageRecordService)
  25. var ServiceRegularTask = new(task.ServiceRegularTask)
  26. var serviceFileQiniu = new(fileManager.ServiceFileQiniu)
  27. func Timer() {
  28. if global.GVA_CONFIG.Timer.Start {
  29. for i := range global.GVA_CONFIG.Timer.Detail {
  30. go func(detail config.Detail) {
  31. _, err := global.GVA_Timer.AddTaskByFunc("ClearDB", global.GVA_CONFIG.Timer.Spec, func() {
  32. err := utils.ClearTable(global.GVA_DB, detail.TableName, detail.CompareField, detail.Interval)
  33. if err != nil {
  34. fmt.Println("timer error:", err)
  35. }
  36. })
  37. if err != nil {
  38. fmt.Println("add timer error:", err)
  39. }
  40. }(global.GVA_CONFIG.Timer.Detail[i])
  41. }
  42. }
  43. // 定时更新前一天的统计数据
  44. _, err := global.GVA_Timer.AddTaskByFunc("StatisticsLog", "2 8 5 * * * ", serviceStatisticsLog.CreateStatisticsLog)
  45. if err != nil {
  46. fmt.Println("add taskCode timer error:", err)
  47. }
  48. //定时同步电脑相关的统计数据
  49. _, err = global.GVA_Timer.AddTaskByFunc("CreateComputerStatisticsData", "40 9,19,29,39,49,59 7-23 * * * ", serviceStatisticsLog.CreateComputerStatisticsData)
  50. if err != nil {
  51. fmt.Println("add CreateComputerStatisticsData timer error:", err)
  52. }
  53. // 同步游戏相关的统计数据
  54. _, err = global.GVA_Timer.AddTaskByFunc("TodayCreateStatisticsGameInfoLog", "2 8,18,28,38,48,58 6-23 * * * ", serviceStatisticsLog.TodayCreateStatisticsGameInfoLog)
  55. if err != nil {
  56. fmt.Println("add TodayCreateStatisticsGameInfoLog timer error:", err)
  57. }
  58. // 同步任务统计数据
  59. _, err = global.GVA_Timer.AddTaskByFunc("TaskStatisticsDataCache", "20 0/3 6-23 * * * ", serviceStatisticsLog.TaskStatisticsDataCache)
  60. if err != nil {
  61. fmt.Println("add TaskStatisticsDataCache timer error:", err)
  62. }
  63. // 重试失败数据
  64. _, err = global.GVA_Timer.AddTaskByFunc("createFailLog", "2 15,35,55 6-23 * * * ", ServiceLogList.CreateFailLog)
  65. if err != nil {
  66. fmt.Println("everyDayResetStatisticsCache timer error:", err)
  67. }
  68. // 定时检查电脑上报
  69. _, err = global.GVA_Timer.AddTaskByFunc("RegularCheckPc", "2 2 9-23 * * * ", serviceStatisticsLog.RegularCheckPc)
  70. if err != nil {
  71. fmt.Println("RegularCheckPc timer error:", err)
  72. }
  73. // 新建日志表
  74. _, err = global.GVA_Timer.AddTaskByFunc("RegularCreateLogingTable", "2 1 19 20 * * ", ServiceLogList.RegularCreateLogingTable)
  75. if err != nil {
  76. fmt.Println("add RegularCreateLogingTable timer error:", err)
  77. }
  78. // 定时删缓存
  79. _, err = global.GVA_Timer.AddTaskByFunc("RegularDelCheckData", "2 33 11 * * *", serviceStatisticsLog.RegularDelCheckData)
  80. if err != nil {
  81. fmt.Println("add RegularDelCheckData timer error:", err)
  82. }
  83. //定时添加任务
  84. _, err = global.GVA_Timer.AddTaskByFunc("EveryDaySyncTaskData", "30 22 21 * * *", syncData.EveryDaySyncTaskData)
  85. if err != nil {
  86. fmt.Println("add EveryDaySyncTaskData timer error:", err)
  87. }
  88. //同步任务数据
  89. _, err = global.GVA_Timer.AddTaskByFunc("SyncTaskData", "2 1/3 1-23 * * *", syncData.SyncTaskData)
  90. if err != nil {
  91. fmt.Println("add SyncTaskData timer error:", err)
  92. }
  93. // 前一天数优任务统计
  94. _, err = global.GVA_Timer.AddTaskByFunc("YesterdaySyncTaskData", "40 36 2 * * *", syncData.YesterdaySyncTaskData)
  95. if err != nil {
  96. fmt.Println("add YesterdaySyncTaskData timer error:", err)
  97. }
  98. // 数优任务统计
  99. _, err = global.GVA_Timer.AddTaskByFunc("DayTargetDataStatistics", "40 2 5 * * *", syncData.DayTargetDataStatistics)
  100. if err != nil {
  101. fmt.Println("add DayTargetDataStatistics timer error:", err)
  102. }
  103. // 定时检查是否有电脑到期,修改租机状态@every 1s
  104. _, err = global.GVA_Timer.AddTaskByFunc("CheckIsExpire", "0 0/5 * * * *", serviceRentComputer.CheckIsExpire)
  105. if err != nil {
  106. fmt.Println("add CheckIsExpire timer error:", err)
  107. }
  108. // 定时生成租机每日台账@every 1s
  109. _, err = global.GVA_Timer.AddTaskByFunc("CreateRentComputerLedger", "0 30 23 * * *", serviceRentComputer.CreateRentComputerLedger)
  110. if err != nil {
  111. fmt.Println("add CreateRentComputerLedger timer error:", err)
  112. }
  113. //定时获取扫码平台余额,每小时执行一次
  114. //_, err = global.GVA_Timer.AddTaskByFunc("SyncGetWeChatScannerBalance", "0 58 * * * *", serviceWeChatScannerApi.SyncGetWeChatScannerBalance)
  115. //_, err = global.GVA_Timer.AddTaskByFunc("SyncGetWeChatScannerBalance", "0 58 * * * *", serviceWeChatScannerApi.SyncGetWeChatScannerBalance)
  116. //if err != nil {
  117. // fmt.Println("add UpdateGameVersion timer error:", err)
  118. //}
  119. //定时更新异常率
  120. _, err = global.GVA_Timer.AddTaskByFunc("SyncAbnormalRateByBatch", "0 1,31 * * * *", serviceDataAbnormalRate.SyncAbnormalRateByBatch)
  121. if err != nil {
  122. fmt.Println("add SyncAbnormalRateByBatch timer error:", err)
  123. }
  124. ////定时更新当日微信扫码订单列表
  125. //_, err = global.GVA_Timer.AddTaskByFunc("SyncTodayWeChatScannerDetailed", "0 3,33 * * * *", serviceWeChatScannerDetailed.SyncTodayWeChatScannerDetailed)
  126. //if err != nil {
  127. // fmt.Println("add SyncTodayWeChatScannerDetailed timer error:", err)
  128. //}
  129. ////0点更新昨日微信扫码订单列表
  130. //_, err = global.GVA_Timer.AddTaskByFunc("SyncYesterdayWeChatScannerDetailed", "1 1 0 * * *", serviceWeChatScannerDetailed.SyncYesterdayWeChatScannerDetailed)
  131. //if err != nil {
  132. // fmt.Println("add SyncYesterdayWeChatScannerDetailed timer error:", err)
  133. //}
  134. ////半小时同步一次机房设备信息,播报是否有异常
  135. //_, err = global.GVA_Timer.AddTaskByFunc("SyncJfDevicesMessage", "0 0,30 * * * *", robotService.SyncJfDevicesMessage)
  136. //if err != nil {
  137. // fmt.Println("add SyncJfDevicesMessage timer error:", err)
  138. //}
  139. // 活跃定时推送消息
  140. _, err = global.GVA_Timer.AddTaskByFunc("TaskMsgSend", "20 2/30 8-21 * * *", syncData.TaskMsgSend)
  141. if err != nil {
  142. fmt.Println("add TaskMsgSend timer error:", err)
  143. }
  144. // 活跃定时推送消息
  145. _, err = global.GVA_Timer.AddTaskByFunc("TaskMsgSend", "30 1/10 22-23 * * *", syncData.TaskMsgSend)
  146. if err != nil {
  147. fmt.Println("add TaskMsgSend timer error:", err)
  148. }
  149. // 付费定时推送消息
  150. _, err = global.GVA_Timer.AddTaskByFunc("TaskMsgSend", "45 2/15 8-21 * * *", syncData.TaskFreeMsgSend)
  151. if err != nil {
  152. fmt.Println("add TaskFreeMsgSend timer error:", err)
  153. }
  154. // 付费定时推送消息
  155. _, err = global.GVA_Timer.AddTaskByFunc("TaskMsgSend", "50 1/5 22-23 * * *", syncData.TaskFreeMsgSend)
  156. if err != nil {
  157. fmt.Println("add TaskFreeMsgSend timer error:", err)
  158. }
  159. // 23起检测任务完成情况
  160. _, err = global.GVA_Timer.AddTaskByFunc("CheckTaskCompletedInfo", "57 10/4 23 * * *", syncData.CheckTaskCompletedInfo)
  161. if err != nil {
  162. fmt.Println("add CheckTaskCompletedInfo timer error:", err)
  163. }
  164. //定时更新游戏版本号和链接
  165. _, err = global.GVA_Timer.AddTaskByFunc("UpdateGameVersion", "0 3/15 * * * *", serviceDownLoadUrl.UpdateGameVersion)
  166. if err != nil {
  167. fmt.Println("add UpdateGameVersion timer error:", err)
  168. }
  169. //定时更新在线电脑缓存
  170. _, err = global.GVA_Timer.AddTaskByFunc("OnlinePcCodeUpdateCache", "14 7 8-20 * * *", ServiceRegularTask.OnlinePcCodeUpdateCache)
  171. if err != nil {
  172. fmt.Println("add OnlinePcCodeUpdateCache timer error:", err)
  173. }
  174. // 定时同步arpu值
  175. _, err = global.GVA_Timer.AddTaskByFunc("SyncArpu", "50 36 23 * * *", syncData.SyncArpu)
  176. if err != nil {
  177. fmt.Println("add SyncArpu timer error:", err)
  178. }
  179. // 提醒修改腾讯目标
  180. //_, err = global.GVA_Timer.AddTaskByFunc("RemindSendOne", "11 2 18,22 * * *", syncData.RemindSendOne)
  181. //if err != nil {
  182. // fmt.Println("add RemindSendOne timer error:", err)
  183. //}
  184. //定时获取机房小绵羊新号剩余
  185. _, err = global.GVA_Timer.AddTaskByFunc("SyncJfXmyNewAccount", "0 0,30 * * * *", robotService.SyncJfXmyNewAccount)
  186. if err != nil {
  187. fmt.Println("add SyncJfXmyNewAccount timer error:", err)
  188. }
  189. // 设备信息
  190. _, err = global.GVA_Timer.AddTaskByFunc("DeviceStatistics", "10 9/10 8-23 * * *", serviceStatisticsLog.DeviceStatistics)
  191. if err != nil {
  192. fmt.Println("add DeviceStatistics timer error:", err)
  193. }
  194. //定时查看延迟更新的镜像是否到期
  195. _, err = global.GVA_Timer.AddTaskByFunc("CheckPushTime", "35 0/5 * * * *", serviceFileQiniu.CheckPushTime)
  196. if err != nil {
  197. fmt.Println("add CheckPushTime timer error:", err)
  198. }
  199. // 半小时同步一次IP信息,播报是否有异常
  200. _, err = global.GVA_Timer.AddTaskByFunc("SyncIPMessage", "50 8/10 9-23 * * ? ", robotService.SyncIPMessage)
  201. if err != nil {
  202. fmt.Println("add SyncIPMessage timer error:", err)
  203. }
  204. _, err = global.GVA_Timer.AddTaskByFunc("ComputerUpdateStatus", "30 1/5 8-23 * * *", serviceStatisticsLog.ComputerUpdateStatus)
  205. if err != nil {
  206. fmt.Println("add ComputerUpdateStatus timer error:", err)
  207. }
  208. //每天凌晨3点删除一次过期图片信息
  209. //_, err = global.GVA_Timer.AddTaskByFunc("DeleteExpireImageRecord", "0 58 3 * * ? ", imageRecordService.DeleteExpireImageRecord)
  210. //if err != nil {
  211. // fmt.Println("add DeleteExpireImageRecord timer error:", err)
  212. //}
  213. _, err = global.GVA_Timer.AddTaskByFunc("YesterdayStatistics", "10 51 2 * * ? ", imageRecordService.YesterdayStatistics)
  214. if err != nil {
  215. fmt.Println("add YesterdayStatistics timer error:", err)
  216. }
  217. _, err = global.GVA_Timer.AddTaskByFunc("TodayStatistics", "50 44 9-23 * * ? ", imageRecordService.TodayStatistics)
  218. if err != nil {
  219. fmt.Println("add TodayStatistics timer error:", err)
  220. }
  221. // 电脑效率检测
  222. _, err = global.GVA_Timer.AddTaskByFunc("OnlineComputerEfficiencyStatistics", "20 47 10-23 * * *", serviceStatisticsLog.OnlineComputerEfficiencyStatistics)
  223. if err != nil {
  224. fmt.Println("add OnlineComputerEfficiencyStatistics timer error:", err)
  225. }
  226. }