浏览代码

修改网络服务重启时有时会返回不了应答,导致前端页面误报错误

niujiuru 1 周之前
父节点
当前提交
05e2882256
共有 1 个文件被更改,包括 11 次插入7 次删除
  1. 11 7
      web-ui.service/page2_handler.go

+ 11 - 7
web-ui.service/page2_handler.go

@@ -7,6 +7,8 @@ import (
 	"os"
 	"os/exec"
 	"time"
+
+	"hnyfkj.com.cn/rtu/linux/baseapp"
 )
 
 func downloadNetworkLog(w http.ResponseWriter, r *http.Request) {
@@ -50,15 +52,17 @@ func restartNetworkService(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	cmd := exec.Command("systemctl", "restart", "yfkj-networkd.service")
+	w.Header().Set("Content-Type", "application/json")
+	w.Write([]byte(`{"status":"restarting..."}`))
 
-	if out, err := cmd.CombinedOutput(); err != nil {
-		http.Error(w, string(out)+err.Error(), http.StatusInternalServerError)
-		return
-	}
+	go func() {
+		cmd := exec.Command("systemctl", "restart", "yfkj-networkd.service")
 
-	w.Header().Set("Content-Type", "application/json")
-	w.Write([]byte(`{"status":"ok"}`))
+		out, err := cmd.CombinedOutput()
+		if err != nil {
+			baseapp.Logger.Errorf("[重启yfkj-networkd失败!!]: %v, output=%s", err, string(out))
+		}
+	}()
 }
 
 func networkStatusHandler(w http.ResponseWriter, r *http.Request) {