Kaynağa Gözat

场景执行历史同步

liuxiulin 3 gün önce
ebeveyn
işleme
706b97979d

+ 2 - 2
services/scene-service/internal/service/manager/device_status.go

@@ -53,7 +53,7 @@ func (d *DeviceSceneService) Add(config string) error {
 		return errors.New("设备状态监控任务配置错误:判断条件不能为空")
 	}
 	// 初始化Ticker和停止通道
-	c.ticker = time.NewTicker(20 * time.Second)
+	c.ticker = time.NewTicker(600 * time.Second)
 	c.stopChan = make(chan struct{})
 
 	// 启动监控协程
@@ -72,7 +72,7 @@ func (d *DeviceSceneService) Update(config string) error {
 	_ = d.Stop(c.SceneId)
 
 	// 初始化Ticker和停止通道
-	c.ticker = time.NewTicker(time.Duration(c.Interval) * time.Minute)
+	c.ticker = time.NewTicker(600 * time.Second)
 	c.stopChan = make(chan struct{})
 
 	// 启动监控协程

+ 12 - 0
services/scene-service/internal/service/manager/executer.go

@@ -7,6 +7,7 @@ import (
 	"sparrow/pkg/models"
 	"sparrow/pkg/rpcs"
 	"sparrow/pkg/server"
+	"sparrow/pkg/utils"
 	"time"
 )
 
@@ -112,6 +113,17 @@ func getAccessRPCHost(deviceid string) (string, error) {
 }
 
 func (a *TaskExecutor) saveHis(id string, action *Action) error {
+
+	client := utils.NewHttpClient()
+	url := "http://127.0.0.1:8199/iot/v1/scene_history"
+	body := make(map[string]interface{})
+	body["scene_id"] = id
+	body["time"] = time.Now()
+	_, err := client.Post(url, "application/json", gjson.New(body))
+	if err != nil {
+		server.Log.Errorf("sync his error:%s", err.Error())
+	}
+
 	args := models.SceneHis{
 		RecordId:    guid.S(),
 		SceneID:     id,

+ 2 - 2
services/scene-service/internal/service/manager/weather.go

@@ -51,7 +51,7 @@ func (w *WeatherSceneService) Add(config string) error {
 		return errors.New("天气监控任务配置错误:判断条件不能为空")
 	}
 	// 初始化Ticker和停止通道
-	c.ticker = time.NewTicker(20 * time.Second)
+	c.ticker = time.NewTicker(600 * time.Second)
 	c.stopChan = make(chan struct{})
 
 	// 启动监控协程
@@ -90,7 +90,7 @@ func (w *WeatherSceneService) Update(config string) error {
 	_ = w.Stop(c.SceneId)
 
 	// 初始化Ticker和停止通道
-	c.ticker = time.NewTicker(time.Duration(c.Interval) * time.Minute)
+	c.ticker = time.NewTicker(600 * time.Second)
 	c.stopChan = make(chan struct{})
 
 	// 启动监控协程