Browse Source

fix:1、隆众panic
2、wind零点更新开放

Roc 2 years ago
parent
commit
3f20d88507
2 changed files with 42 additions and 15 deletions
  1. 38 11
      services/data/base_from_smm.go
  2. 4 4
      services/task.go

+ 38 - 11
services/data/base_from_smm.go

@@ -12,6 +12,7 @@ import (
 	"errors"
 	"fmt"
 	"hongze/hongze_task/models/data_manage"
+	"hongze/hongze_task/services/alarm_msg"
 	"hongze/hongze_task/utils"
 	"io/ioutil"
 	"net/http"
@@ -251,6 +252,7 @@ func GetSmmIndexData() {
 							monthDate, err := time.Parse("2006-01", dataTime)
 							if err != nil {
 								fmt.Println("time.Parse:" + err.Error())
+								continue
 							}
 							lastTime := monthDate.AddDate(0, 1, -1)
 							lastYear, lastMonth, lastDay := lastTime.Date()
@@ -270,7 +272,7 @@ func GetSmmIndexData() {
 
 							saveDataTime, err := time.Parse(utils.FormatDate, dataTime)
 							if err != nil {
-
+								continue
 							}
 							timestamp := saveDataTime.UnixNano() / 1e6
 							var smmIndexId int64
@@ -334,8 +336,18 @@ func GetSmmIndexData() {
 	}
 }
 
-//有色基础指标同步
+// SyncSmmIndexDataBase 有色基础指标同步
 func SyncSmmIndexDataBase() {
+	errMsgList := make([]string, 0)
+	defer func() {
+		//fmt.Println(errMsgList)
+		//如果错误信息大于0条,那么邮件提醒吧
+		if len(errMsgList) > 0 {
+			msg := fmt.Sprint("有色基础指标同步失败,err:", strings.Join(errMsgList, "\n"))
+			go alarm_msg.SendAlarmMsg(msg, 3)
+		}
+
+	}()
 	utils.FileLog.Info("start:" + time.Now().Format(utils.FormatDateTime))
 	list, err := data_manage.GetBaseFromSmmList()
 	if err != nil {
@@ -347,7 +359,7 @@ func SyncSmmIndexDataBase() {
 		fmt.Println(err)
 		return
 	}
-	endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT,0,0).Format(utils.FormatDate)
+	endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
 	smmIndexAll, err := data_manage.GetBaseFromSmmIndex()
 	if err != nil {
 		fmt.Println("GetBaseFromSmmIndex Err:" + err.Error())
@@ -489,7 +501,10 @@ func SyncSmmIndexDataBase() {
 				if frequency == "月" {
 					monthDate, err := time.Parse("2006-01", dataTime)
 					if err != nil {
-						fmt.Println("time.Parse:" + err.Error())
+						errMsg := "monthDate parse err:" + err.Error() + " dataTime:" + dataTime
+						fmt.Println(errMsg)
+						errMsgList = append(errMsgList, errMsg)
+						continue
 					}
 					lastTime := monthDate.AddDate(0, 1, -1)
 					lastYear, lastMonth, lastDay := lastTime.Date()
@@ -505,8 +520,10 @@ func SyncSmmIndexDataBase() {
 				}
 				saveDataTime, err := time.Parse(utils.FormatDate, dataTime)
 				if err != nil {
-					fmt.Println("saveDataTime parse err:" + err.Error() + " dataTime:" + dataTime)
-					panic(err)
+					errMsg := "saveDataTime parse err:" + err.Error() + " dataTime:" + dataTime
+					fmt.Println(errMsg)
+					errMsgList = append(errMsgList, errMsg)
+					continue
 				}
 				timestamp := saveDataTime.UnixNano() / 1e6
 				//循环指标
@@ -533,7 +550,9 @@ func SyncSmmIndexDataBase() {
 									dataItem.DataTimestamp = timestamp
 									_, err = data_manage.AddBaseFromSmmData(dataItem)
 									if err != nil && !strings.Contains(err.Error(), "idx_index_code_date") {
-										fmt.Println("AddBaseFromSmmData Err:" + err.Error())
+										errMsg := "AddBaseFromSmmData Err:" + err.Error()
+										fmt.Println(errMsg)
+										errMsgList = append(errMsgList, errMsg)
 										return
 									}
 								}
@@ -544,7 +563,9 @@ func SyncSmmIndexDataBase() {
 									if val != "" && val != "-" {
 										err = data_manage.ModifyBaseFromSmmData(findData.SmmDataId, val)
 										if err != nil {
-											fmt.Println("ModifyBaseFromSmmData Err:" + err.Error())
+											errMsg := "ModifyBaseFromSmmData Err:" + err.Error()
+											fmt.Println(errMsg)
+											errMsgList = append(errMsgList, errMsg)
 											return
 										}
 									}
@@ -560,16 +581,22 @@ func SyncSmmIndexDataBase() {
 			{
 				indexList, err := data_manage.GetBaseFromSmmIndexByCode(v.Interface)
 				if err != nil {
-					fmt.Println("GetBaseFromSmmIndexByCode Err:" + err.Error())
+					errMsg := "GetBaseFromSmmIndexByCode Err:" + err.Error()
+					fmt.Println(errMsg)
+					errMsgList = append(errMsgList, errMsg)
 				}
 				for _, sv := range indexList {
 					minDate, maxDate, err := data_manage.GetBaseFromSmmMaxOrMinDate(sv.IndexCode)
 					if err != nil {
-						fmt.Println("GetEdbDataSmmMaxOrMinDate Err:" + err.Error())
+						errMsg := "GetEdbDataSmmMaxOrMinDate Err:" + err.Error()
+						fmt.Println(errMsg)
+						errMsgList = append(errMsgList, errMsg)
 					} else {
 						err = data_manage.ModifyBaseFromSmmMinDateAndMaxDate(sv.BaseFromSmmIndexId, v.BaseFromSmmId, minDate, maxDate)
 						if err != nil {
-							fmt.Println("ModifyBaseFromSmmMinDateAndMaxDate Err:" + err.Error())
+							errMsg := "ModifyBaseFromSmmMinDateAndMaxDate Err:" + err.Error()
+							fmt.Println(errMsg)
+							errMsgList = append(errMsgList, errMsg)
 						}
 					}
 				}

+ 4 - 4
services/task.go

@@ -218,10 +218,10 @@ func OneMinute(cont context.Context) (err error) {
 func RefreshData(cont context.Context) (err error) {
 	wg := sync.WaitGroup{}
 	wg.Add(8)
-	hour := time.Now().Hour()
-	if hour != 0 {
-		go data.RefreshDataFromWind(&wg)
-	}
+	//hour := time.Now().Hour()
+	//if hour != 0 {
+	//}
+	go data.RefreshDataFromWind(&wg)
 	//同花顺
 	go data.RefreshDataFromThs(&wg)
 	//彭博