瀏覽代碼

定时刷新kpler excel数据

xyxie 4 天之前
父節點
當前提交
5423a875e8
共有 4 個文件被更改,包括 37 次插入3 次删除
  1. 25 0
      services/base_from_kpler.go
  2. 3 2
      services/kpler/liquid.go
  3. 3 0
      services/task.go
  4. 6 1
      utils/config.go

+ 25 - 0
services/base_from_kpler.go

@@ -165,4 +165,29 @@ func GetKplerDataByExcel(filePath string) (err error) {
 	return
 }
 
+// 定时调用python脚本刷新kpler
+func RefreshKplerByExcel(cont context.Context) (err error) {
+	if utils.KplerRefreshUrl == "" {
+		return
+	}
+    //查询utils.KplerExcelFilePath目录下所有excel文件
+	files, err := filepath.Glob(utils.KplerExcelFilePath + "/*.xlsx")
+	if err != nil {
+		utils.FileLog.Info("RefreshKplerByExcel Err:" + err.Error())
+		return
+	}
+	for _, file := range files {
+		fmt.Println("RefreshKplerByExcel file:" + file)
+		kplerRefreshUrl := fmt.Sprintf("%s/kpler/refresh?FilePath=%s", utils.KplerRefreshUrl, file)
+		body, er := HttpGet(kplerRefreshUrl)
+		if er != nil {
+			utils.FileLog.Info("RefreshKplerByExcel Err:" + er.Error())
+			return
+		}
+		utils.FileLog.Info("RefreshKplerByExcel Result:" + string(body))
+	}
+	
+	return
+}
+
 

+ 3 - 2
services/kpler/liquid.go

@@ -8,6 +8,7 @@ import (
 	"net/http"
 	"net/url"
 	"strings"
+	"eta/eta_data_analysis/utils"
 )
 
 // 获取token登录凭证
@@ -17,8 +18,8 @@ func login()(token string, err error){
   method := "POST"
 
   payload := strings.NewReader(`{
-	"email": "lizhan.edri@sinopec.com",
-	"password": "edri2024"
+	"email": "` + utils.KplerApiAccount + `",
+	"password": "` + utils.KplerApiPassword + `"
 }`)
 
   client := &http.Client {

+ 3 - 0
services/task.go

@@ -157,6 +157,9 @@ func Task() {
 	if utils.KplerExcelOpen == "1" {
 		kplerExcelWatch := task.NewTask("kplerExcelWatch", "0 */2 * * * *", KplerExcelDataWatch)
 		task.AddTask("克拉克森Excel数据检测", kplerExcelWatch)
+        
+		kplerExcelRefresh := task.NewTask("kplerExcelRefresh", "0 50 16,18 * * *", RefreshKplerByExcel)
+		task.AddTask("克拉克森Excel数据刷新", kplerExcelRefresh)
 	}
 
 	task.StartTask()

+ 6 - 1
utils/config.go

@@ -138,6 +138,9 @@ var (
 var (
 	KplerExcelFilePath string //excel文件地址
 	KplerExcelOpen     string //是否配置Kpler数据源,1已配置
+	KplerRefreshUrl    string //Kpler刷新url
+	KplerApiAccount    string //Kpler API调用方式的账号
+	KplerApiPassword   string //Kpler API调用方式的密码
 )
 
 var (
@@ -295,7 +298,9 @@ func init() {
 
 	KplerExcelOpen = config["kpler_excel_open"]
 	KplerExcelFilePath = config["kpler_excel_file_path"]
-
+	KplerRefreshUrl = config["kpler_refresh_url"]
+	KplerApiAccount = config["kpler_api_account"]
+	KplerApiPassword = config["kpler_api_password"]
 	CacheClient = cache.New(365*24*time.Hour, 365*24*time.Hour)
 }