From f22b69ff61a5795a2e1242091cc35bce0bd8c803 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期二, 16 四月 2024 14:41:47 +0800 Subject: [PATCH] 修复更新操作 --- service/report.go | 59 ++++++----------------------------------------------------- 1 files changed, 6 insertions(+), 53 deletions(-) diff --git a/service/report.go b/service/report.go index f352d55..400627e 100644 --- a/service/report.go +++ b/service/report.go @@ -1,16 +1,14 @@ package service import ( - "bytes" "encoding/json" - "io" - "net/http" "time" "errors" "gat1400Exchange/config" "gat1400Exchange/pkg/logger" "gat1400Exchange/models" + "gat1400Exchange/util" "github.com/hashicorp/golang-lru/v2/expirable" ) @@ -39,9 +37,11 @@ IpAddr string `json:"ip"` } -func reportDeviceInfo() error { +func DeviceInfoReportTask() error { + logger.Info("Start device info report task, server:%s.", config.ForwardConf.ReportServer) + if config.ForwardConf.ReportServer == "" { - return errors.New("server addr is empty !") + return errors.New("Server addr is empty!") } var d models.Device @@ -71,7 +71,7 @@ logger.Info("Report device info. %+v", dev) - _, err = HttpPost(config.ForwardConf.ReportServer, nil, data) + _, err = util.HttpPost(config.ForwardConf.ReportServer, nil, data) if err != nil { return err } @@ -82,51 +82,4 @@ func KeepDeviceAlive(id string) { deviceAliveCache.Add(id, true) -} - -func DeviceInfoReportTask() { - interval := config.ForwardConf.ReportInterval - if interval == 0 { - interval = 10 - } - - logger.Info("start device info report task, server:%s interval:%d.", config.ForwardConf.ReportServer, interval) - - ticker := time.NewTicker(1 * time.Second) - for { - select { - case <-ticker.C: - err := reportDeviceInfo() - if err != nil { - logger.Warn(err.Error()) - } - - ticker.Reset(time.Duration(interval) * time.Second) - } - } -} - - -func HttpPost(url string, header map[string]string, data []byte) ([]byte, error) { - req, err := http.NewRequest(http.MethodPost, url, bytes.NewBuffer(data)) - if err != nil { - return nil, err - } - req.Header.Set("Content-Type", "applicaiton/json; charset=UTF-8") - if header != nil { - for k, v := range header { - req.Header.Set(k, v) - } - } - cli := &http.Client{} - resp, err := cli.Do(req) - if err != nil { - return nil, err - } - defer resp.Body.Close() - body, err := io.ReadAll(resp.Body) - if err != nil { - return nil, err - } - return body, nil } -- Gitblit v1.8.0