task.go 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. package services
  2. import (
  3. "context"
  4. "eta/eta_crawler/utils"
  5. "fmt"
  6. "github.com/beego/beego/v2/task"
  7. "strconv"
  8. "time"
  9. )
  10. func Task() {
  11. //sync3()
  12. //syncAllComTradeMapping()
  13. //syncAllComTradeMapping2()
  14. //syncAllComTradeMapping3()
  15. //return
  16. fmt.Println("start crawler")
  17. //SyncRankingFromShangHai()
  18. //SyncRankingFromIne()
  19. //FileCoalCoastal()
  20. //FileCoalInland()
  21. refreshData := task.NewTask("refreshData", "0 0,30 16-18 * * *", RefreshData)
  22. refreshEic := task.NewTask("RefreshEic", "0 0 2,6 * * *", RefreshEic)
  23. refreshCoal := task.NewTask("RefreshCoal", "0 0,30 16-23 * * *", RefreshCoal)
  24. refreshMeeting := task.NewTask("RefreshMeeting", "0 15 7-19/2 * * *", RefreshMeetingProbabilities)
  25. // refreshVisitors := task.NewTask("RefreshChangesVisitorsCovid", "0 30 2-22/10 * * *", RefreshChangesVisitorsCovid)
  26. syncEiaSteoData := task.NewTask("SyncEiaSteoData", "0 0 22 * * *", SyncEiaSteoData)
  27. syncYearComTrade := task.NewTask("SyncYearComTrade", "0 0 3 1 1 *", SyncYearComTrade) // 每年一月一号同步
  28. syncYearMonthComTrade := task.NewTask("SyncYearMonthComTrade", "0 0 3 1 * *", SyncYearMonthComTrade) // 每月1号同步
  29. crawlerIcpi := task.NewTask("refreshData", "0 0,30 16-23 * * *", CrawlerIcpi) //居民消费价格指数
  30. // 统计局-分月季年爬
  31. //refreshNationalMonthA := task.NewTask("RefreshNationalMonthDbA", "0 15 2 10 * *", national_data.RefreshNationalMonthDbA)
  32. //refreshNationalMonthB := task.NewTask("RefreshNationalMonthDbB", "0 15 2 16 * *", national_data.RefreshNationalMonthDbB)
  33. //refreshNationalQuarter := task.NewTask("RefreshNationalQuarterDb", "0 25 1 15 * *", national_data.RefreshNationalQuarterDb)
  34. //refreshNationalYearA := task.NewTask("RefreshNationalYearDbA", "0 45 1 20 * *", national_data.RefreshNationalYearDbA)
  35. //refreshNationalYearB := task.NewTask("RefreshNationalYearDbB", "0 45 1 25 * *", national_data.RefreshNationalYearDbB)
  36. task.AddTask("数据爬取", refreshData)
  37. task.AddTask("欧洲天然气爬取", refreshEic)
  38. task.AddTask("中国煤炭网爬取", refreshCoal)
  39. task.AddTask("美联储加息概率爬取", refreshMeeting)
  40. //task.AddTask("谷歌出行指数爬取", refreshVisitors)
  41. task.AddTask("eia steo报告", syncEiaSteoData) //每天22点爬一次
  42. task.AddTask("UN年度数据", syncYearComTrade) //每年一月一号的3点同步
  43. task.AddTask("UN月度数据", syncYearMonthComTrade) //每月1号的3点同步
  44. task.AddTask("居民消费价格指数", crawlerIcpi) //每月1号的3点同步
  45. //task.AddTask("统计局数据爬取-月度A", refreshNationalMonthA) // 每月10号2:15执行
  46. //task.AddTask("统计局数据爬取-月度B", refreshNationalMonthB) // 每月16号2:15执行
  47. //task.AddTask("统计局数据爬取-季度", refreshNationalQuarter) // 每月15号1:25执行
  48. //task.AddTask("统计局数据爬取-年度A", refreshNationalYearA) // 每月20日1:45执行
  49. //task.AddTask("统计局数据爬取-年度B", refreshNationalYearB) // 每月25日1:45执行
  50. task.StartTask()
  51. //FileCoalJsm()
  52. //FileCoalFirm()
  53. //FileCoalCoastal()
  54. //FileCoalInland()
  55. //SyncRankingFromDalianSearch(0)
  56. fmt.Println("end crawler")
  57. }
  58. func RefreshData(cont context.Context) (err error) {
  59. //大连
  60. SyncRankingFromDalianSearch(0)
  61. SyncRankingFromZhengzhou()
  62. //SyncRankingFromShangHai()
  63. //SyncRankingFromIne()
  64. SyncRankingFromCffex()
  65. //SyncStorageFromEic()
  66. //广州期货交易所
  67. {
  68. n := 2
  69. //广州交易所期货-日行情
  70. for i := n; i >= 0; i-- {
  71. date := time.Now().AddDate(0, 0, -i)
  72. if date.Weekday() == time.Saturday || date.Weekday() == time.Sunday {
  73. continue
  74. }
  75. CrawlerFromGuangzhouDayQuotes(date)
  76. rn := utils.RangeRand(10, 60)
  77. fmt.Println("i:"+strconv.Itoa(i)+" date:", date.Format(utils.FormatDate)+";sleep:", strconv.Itoa(int(rn)))
  78. time.Sleep(time.Duration(rn) * time.Second)
  79. }
  80. //合约
  81. for i := n; i >= 0; i-- {
  82. date := time.Now().AddDate(0, 0, -i)
  83. if date.Weekday() == time.Saturday || date.Weekday() == time.Sunday {
  84. continue
  85. }
  86. fmt.Println("date:", date.Format(utils.FormatDate))
  87. CrawlerFromGuangzhouContract(date)
  88. rn := utils.RangeRand(3, 15)
  89. fmt.Println("i:"+strconv.Itoa(i)+" date:", date.Format(utils.FormatDate)+";sleep:", strconv.Itoa(int(rn)))
  90. time.Sleep(time.Duration(rn) * time.Second)
  91. }
  92. //日成交持仓排名
  93. for i := n; i >= 0; i-- {
  94. date := time.Now().AddDate(0, 0, -i)
  95. if date.Weekday() == time.Saturday || date.Weekday() == time.Sunday {
  96. continue
  97. }
  98. fmt.Println("date:", date.Format(utils.FormatDate))
  99. CrawlerFromGuangzhouDealPosiQuotes(date)
  100. rn := utils.RangeRand(3, 15)
  101. fmt.Println("i:"+strconv.Itoa(i)+" date:", date.Format(utils.FormatDate)+";sleep:", strconv.Itoa(int(rn)))
  102. time.Sleep(time.Duration(rn) * time.Second)
  103. }
  104. //广州交易所期货-仓单日报->开始日期:2023-06-20
  105. for i := n; i >= 0; i-- {
  106. date := time.Now().AddDate(0, 0, -i)
  107. if date.Weekday() == time.Saturday || date.Weekday() == time.Sunday {
  108. continue
  109. }
  110. fmt.Println("date:", date.Format(utils.FormatDate))
  111. CrawlerFromGuangzhouWbillWeeklyQuotes(date)
  112. rn := utils.RangeRand(3, 15)
  113. fmt.Println("i:"+strconv.Itoa(i)+" date:", date.Format(utils.FormatDate)+";sleep:", strconv.Itoa(int(rn)))
  114. time.Sleep(time.Duration(rn) * time.Second)
  115. }
  116. //一次性交割卖方仓单查询
  117. for i := n; i >= 0; i-- {
  118. date := time.Now().AddDate(0, -i, 0)
  119. fmt.Println("date:", date.Format(utils.FormatDate))
  120. CrawlerFromGuangzhouCongregateDeliveryQuotes(date)
  121. rn := utils.RangeRand(3, 15)
  122. fmt.Println("i:"+strconv.Itoa(i)+" date:", date.Format(utils.FormatDate)+";sleep:", strconv.Itoa(int(rn)))
  123. time.Sleep(time.Duration(rn) * time.Second)
  124. }
  125. //更新指标日期
  126. CrawlerFromGuangzhouIndexMinAndMaxDate()
  127. }
  128. return
  129. }
  130. func RefreshEic(cont context.Context) (err error) {
  131. SyncStorageFromEicV2()
  132. return
  133. }
  134. func RefreshCoal(cont context.Context) (err error) {
  135. FileCoalJsm()
  136. FileCoalFirm()
  137. FileCoalCoastal()
  138. FileCoalInland()
  139. return
  140. }
  141. func RefreshChangesVisitorsCovid(cont context.Context) (err error) {
  142. err = AddSourceChangesVisitorsCovid()
  143. return
  144. }
  145. //func Task2() {
  146. // fmt.Println("start")
  147. //
  148. // var cont context.Context
  149. // _ = national_data.RefreshNationalYearDbA(cont)
  150. //
  151. // //_ = national_data.RefreshNationalYearDbB(cont)
  152. //
  153. // //_ = national_data.ApiTest()
  154. // fmt.Println("end")
  155. //}
  156. func Task123() {
  157. fmt.Println("start")
  158. ctx := new(context.Context)
  159. CrawlerIcpi(*ctx)
  160. fmt.Println("end")
  161. }