|
@@ -2,30 +2,71 @@ package data
|
|
|
|
|
|
import (
|
|
|
"context"
|
|
|
- "eta/eta_task/services/alarm_msg"
|
|
|
+ "encoding/json"
|
|
|
"eta/eta_task/utils"
|
|
|
"fmt"
|
|
|
+ "io/ioutil"
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
-// RefreshPCSGBloomberg 中石油新加坡-每日指标刷新
|
|
|
+// RefreshPCSGBloomberg 中石油新加坡-定时刷新指标
|
|
|
func RefreshPCSGBloomberg(cont context.Context) (err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
|
- tips := "RefreshPCSGBloombergDaily-中石油新加坡-刷新彭博日度指标失败, ErrMsg:\n" + err.Error()
|
|
|
+ tips := "RefreshPCSGBloombergDaily-中石油新加坡-刷新彭博指标失败, ErrMsg:\n" + err.Error()
|
|
|
utils.FileLog.Info(tips)
|
|
|
- go alarm_msg.SendAlarmMsg(tips, 3)
|
|
|
}
|
|
|
}()
|
|
|
|
|
|
- param := make(map[string]interface{})
|
|
|
+ runTime := time.Now().Local().Format("15:04")
|
|
|
+ tasks, e := LoadPCSGBloombergTask()
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("读取配置失败, %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(tasks) == 0 {
|
|
|
+ utils.FileLog.Info("任务未配置")
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 根据分钟匹配任务
|
|
|
uri := "bloomberg/pcsg/refresh_task"
|
|
|
- res, e := postRefreshEdbData(param, uri)
|
|
|
+ for _, v := range tasks {
|
|
|
+ if runTime != v.TaskTime {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ utils.FileLog.Info(fmt.Sprintf("执行%s", v.TaskKey))
|
|
|
+ param := make(map[string]interface{})
|
|
|
+ param["TaskKey"] = v.TaskKey
|
|
|
+ res, e := postRefreshEdbData(param, uri)
|
|
|
+ if e != nil {
|
|
|
+ utils.FileLog.Info(fmt.Sprintf("postRefreshEdbData, %v", e))
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ if res != nil && res.Ret != 200 {
|
|
|
+ utils.FileLog.Info("postRefreshEdbData, fail")
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ utils.FileLog.Info(fmt.Sprintf("执行结束%s", v.TaskKey))
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+type PCSGBloombergTask struct {
|
|
|
+ TaskKey string `json:"TaskKey"`
|
|
|
+ TaskTime string `json:"TaskTime"`
|
|
|
+}
|
|
|
+
|
|
|
+// LoadPCSGBloombergTask 加载配置
|
|
|
+func LoadPCSGBloombergTask() (tasks []*PCSGBloombergTask, err error) {
|
|
|
+ filePath := "./static/pcsg_task.json"
|
|
|
+ b, e := ioutil.ReadFile(filePath)
|
|
|
if e != nil {
|
|
|
- err = fmt.Errorf("postRefreshEdbData err: %s", e.Error())
|
|
|
+ err = fmt.Errorf("读取配置失败, err: %v", e)
|
|
|
return
|
|
|
}
|
|
|
- if res != nil && res.Ret != 200 {
|
|
|
- err = fmt.Errorf("postRefreshEdbData fail")
|
|
|
+ if e = json.Unmarshal(b, &tasks); e != nil {
|
|
|
+ err = fmt.Errorf("解析配置失败, err: %v", e)
|
|
|
return
|
|
|
}
|
|
|
return
|