LingxinMeng 1 gadu atpakaļ
vecāks
revīzija
6c3a1ca354
1 mainītis faili ar 13 papildinājumiem un 8 dzēšanām
  1. 13 8
      amd64/dpi_boot/main.go

+ 13 - 8
amd64/dpi_boot/main.go

@@ -18,6 +18,7 @@ type HeartBeatInfo struct {
 var lastTime time.Time
 
 func main() {
+
 	// 1 启动 shell 脚本 dpi_start.sh
 	_, s, err := util.ExecuteWithDirSync("/data", "sh", "dpi_start.sh")
 	if err != nil {
@@ -35,14 +36,18 @@ func main() {
 			lastTime = time.Now()
 		}})
 	// 3 超过5秒没有接收到数据则执行 dpi_stop.sh 和 dpi_start.sh
-	if time.Since(lastTime) > 5.00 {
-		_, s, err = util.ExecuteWithDirSync("/data", "sh", "dpi_stop.sh")
-		if err != nil {
-			fmt.Println("执行停止命令报错,执行结果为:", s, ",错误信息为:", err)
-		}
-		_, s, err = util.ExecuteWithDirSync("/data", "sh", "dpi_start.sh")
-		if err != nil {
-			fmt.Println("执行启动命令报错,执行结果为:", s, ",错误信息为:", err)
+	for {
+		time.Sleep(1 * time.Second)
+		if time.Since(lastTime) > 5.00 {
+			fmt.Println("超过5秒没有监听到/heart_info数据,即将重启dpi。")
+			_, s, err = util.ExecuteWithDirSync("/data", "sh", "dpi_stop.sh")
+			if err != nil {
+				fmt.Println("执行停止命令报错,执行结果为:", s, ",错误信息为:", err)
+			}
+			_, s, err = util.ExecuteWithDirSync("/data", "sh", "dpi_start.sh")
+			if err != nil {
+				fmt.Println("执行启动命令报错,执行结果为:", s, ",错误信息为:", err)
+			}
 		}
 	}