|
@@ -17,7 +17,7 @@ import (
|
|
|
)
|
|
|
|
|
|
// EdbInfoRefreshAllFromBaseV2 全部刷新指标(切换到edb_lib服务)
|
|
|
-func EdbInfoRefreshAllFromBaseV2(edbInfoId int, refreshAll bool) (err error) {
|
|
|
+func EdbInfoRefreshAllFromBaseV2(edbInfoId int, refreshAll bool) (err error, isAsync bool) {
|
|
|
var errmsg string
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
@@ -27,7 +27,7 @@ func EdbInfoRefreshAllFromBaseV2(edbInfoId int, refreshAll bool) (err error) {
|
|
|
}
|
|
|
}()
|
|
|
|
|
|
- err = EdbInfoRefreshAllFromBaseV3([]int{edbInfoId}, refreshAll)
|
|
|
+ err, isAsync = EdbInfoRefreshAllFromBaseV3([]int{edbInfoId}, refreshAll, false)
|
|
|
return
|
|
|
//// 获取关联的基础指标
|
|
|
//newBaseEdbInfoArr, newCalculateMap, newPredictCalculateMap, calculateArr, predictCalculateArr, err, errmsg := getRefreshEdbInfoList(edbInfoId)
|
|
@@ -216,7 +216,7 @@ func EdbInfoRefreshAllFromBaseV2(edbInfoId int, refreshAll bool) (err error) {
|
|
|
// @author Roc
|
|
|
// @datetime 2022-09-16 11:04:44
|
|
|
// @description 将原有的单个指标刷新,调整为批量多个指标刷新
|
|
|
-func EdbInfoRefreshAllFromBaseV3(edbInfoIdList []int, refreshAll bool) (err error) {
|
|
|
+func EdbInfoRefreshAllFromBaseV3(edbInfoIdList []int, refreshAll, isSync bool) (err error, isAsync bool) {
|
|
|
var errmsg string
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
@@ -231,6 +231,30 @@ func EdbInfoRefreshAllFromBaseV3(edbInfoIdList []int, refreshAll bool) (err erro
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ // 需要刷新的指标数量
|
|
|
+ totalEdbInfo := len(newBaseEdbInfoArr) + len(calculateArr) + len(predictCalculateArr)
|
|
|
+
|
|
|
+ if totalEdbInfo <= 20 || isSync {
|
|
|
+ err = edbInfoRefreshAll(refreshAll, newBaseEdbInfoArr, newBasePredictEdbInfoArr, newCalculateMap, newPredictCalculateMap, calculateArr, predictCalculateArr)
|
|
|
+ } else {
|
|
|
+ isAsync = true
|
|
|
+ go edbInfoRefreshAll(refreshAll, newBaseEdbInfoArr, newBasePredictEdbInfoArr, newCalculateMap, newPredictCalculateMap, calculateArr, predictCalculateArr)
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func edbInfoRefreshAll(refreshAll bool, newBaseEdbInfoArr, newBasePredictEdbInfoArr []*data_manage.EdbInfo, newCalculateMap, newPredictCalculateMap map[int]*data_manage.EdbInfo, calculateArr, predictCalculateArr []int) (err error) {
|
|
|
+ var errmsg string
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("EdbInfoRefreshAllFromBaseV2 Err:" + err.Error() + ";errmsg:" + errmsg)
|
|
|
+ go alarm_msg.SendAlarmMsg("EdbInfoRefreshFromBaseV2,Err"+err.Error()+";errMsg:"+errmsg, 3)
|
|
|
+ //go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "EdbInfoRefreshFromBase:"+errmsg, utils.EmailSendToUsers)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
var startDate string
|
|
|
for _, bv := range newBaseEdbInfoArr {
|
|
|
//source := bv.Source
|
|
@@ -1169,7 +1193,7 @@ func RefreshManualData(edbCode string) {
|
|
|
return
|
|
|
}
|
|
|
// 刷新指标库
|
|
|
- err = EdbInfoRefreshAllFromBaseV2(edbInfo.EdbInfoId, true)
|
|
|
+ err, _ = EdbInfoRefreshAllFromBaseV2(edbInfo.EdbInfoId, true)
|
|
|
return
|
|
|
}
|
|
|
|