From e2ca6ba654f1371f3b375392e29e3fa070ad96ce Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期四, 16 四月 2020 15:25:48 +0800
Subject: [PATCH] fix startup item

---
 controllers/swfsControllers.go |   34 +++++++++++++++++++++++++---------
 1 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/controllers/swfsControllers.go b/controllers/swfsControllers.go
index f234678..8f3fb76 100644
--- a/controllers/swfsControllers.go
+++ b/controllers/swfsControllers.go
@@ -91,8 +91,8 @@
 
 func (sc *SeaweedfsController) RestartServerController(c *gin.Context) {
 	StopServer(config.Server.ScriptPath)
-	time.Sleep(time.Second * 1)
 	StartServer(config.Server.ScriptPath)
+	time.Sleep(time.Second * 1)
 	//fmt.Println("GetLocalStartupItem: ", GetLocalStartupItem(config.Server.ScriptPath, StartServerScript))
 	result := strings.Split(GetLocalStartupItem(config.Server.ScriptPath, StartServerScript), "=")[1]
 	fmt.Println("result: ", result)
@@ -101,12 +101,14 @@
 
 //鍚姩鏈嶅姟
 func StartServer(scriptPath string) {
-	util.RunScript("sh " + scriptPath + StartServerScript)
+	//fmt.Println("sh " + scriptPath + "/" + StartServerScript)
+	util.RunScript("sh " + scriptPath + "/" + StartServerScript)
 }
 
 //鍋滄鏈嶅姟
 func StopServer(scriptPath string) {
-	util.RunScript("sh " + scriptPath + StopServerScript)
+	//fmt.Println("sh " + scriptPath + "/" + StopServerScript)
+	util.RunScript("sh " + scriptPath + "/" + StopServerScript)
 }
 
 //鏍规嵁鎼滅储鍐呭鏇挎崲鏁磋鍐呭
@@ -154,17 +156,18 @@
 	url := "http://" + ip + ":7020/node/api-v/swfs/restartServer"
 	var info interface{}
 	httpRes, _ := http.Get(url)
-	defer httpRes.Body.Close()
 	body, _ := ioutil.ReadAll(httpRes.Body)
 	json.Unmarshal(body, &info)
 	res, ok := info.(map[string]interface{})
 	if !ok {
 		fmt.Println("http response interface can not change map[string]interface{}")
 	}
+	fmt.Println("res: ", res)
 	startupItem := res["data"].(string)
 	if httpRes.StatusCode == 200 {
 		startupItem = string(body)
 	}
+	fmt.Println("Restart startupItem: ", startupItem)
 	tick := time.Tick(1 * time.Second)
 	fmt.Println("鍑嗗寮�濮嬮獙璇佽妭鐐规湇鍔�")
 	for countdown := timeOut; countdown > 0; countdown-- {
@@ -182,9 +185,10 @@
 //楠岃瘉鏈嶅姟鐘舵��
 func Verification(startupItem string, ip string) bool {
 	resStatu := false
+	fmt.Println("Verification startupItem: ", startupItem)
 	switch startupItem {
 	case StartScriptAsVolume:
-		verificationVolumeUrl := "http://" + ip + ":6700"
+		verificationVolumeUrl := "http://" + ip + ":6700/ui/index.html"
 		_, volume1Err := http.Get(verificationVolumeUrl)
 		if volume1Err == nil {
 			resStatu = true
@@ -197,9 +201,11 @@
 		}
 	case StartScriptAsMaVo:
 		verificationMasterUrl := "http://" + ip + ":6333"
-		verificationVolumeUrl := "http://" + ip + ":6700"
+		verificationVolumeUrl := "http://" + ip + ":6700/ui/index.html"
 		_, masterErr := http.Get(verificationMasterUrl)
+		fmt.Println("masterErr", masterErr)
 		_, volume1Err := http.Get(verificationVolumeUrl)
+		fmt.Println("volume1Err", volume1Err)
 		if masterErr == nil && volume1Err == nil {
 			resStatu = true
 		}
@@ -223,32 +229,42 @@
 	var waitGroup sync.WaitGroup
 	fmt.Println("褰撳墠骞惰搴oreThread锛�", coreThread)
 	for i, ip := range peersIp {
-		fmt.Println("閲嶅惎绗竴缁勬湇鍔�" + ip)
+		fmt.Println("閲嶅惎褰撳墠缁勬湇鍔�" + ip)
 		if (i+1)%coreThread == 0 {
 			masterIp = append(masterIp, strings.Split(ip, ":")[0])
 			fmt.Println("鍔犲叆绗竴缁勫苟寮�濮嬮獙璇佺涓�缁� masterIp: ", masterIp)
 			for i := 0; i < len(masterIp); i++ {
 				fmt.Println("len masterIp: ", len(masterIp))
 				fmt.Println("绗�" + strconv.Itoa(i) + "涓嚎绋�")
-				go Restart(masterIp[i], timeOut)
+				fmt.Println("褰撳墠goroutinebe")
 				waitGroup.Add(1) //姣忓垱寤轰竴涓猤oroutine锛屽氨鎶婁换鍔¢槦鍒椾腑浠诲姟鐨勬暟閲�+1
+				fmt.Println("褰撳墠goroutineaf")
+				go Restart(masterIp[i], timeOut)
+				waitGroup.Done()
 			}
+			fmt.Println("杩欓噷涓洪樆濉烇紒锛侊紒锛侊紒")
 			waitGroup.Wait() //.Wait()杩欓噷浼氬彂鐢熼樆濉烇紝鐩村埌闃熷垪涓墍鏈夌殑浠诲姟缁撴潫灏变細瑙i櫎闃诲
+			fmt.Println("褰撳墠缁勪换鍔″畬鎴�")
 			masterIp = make([]string, 0)
+			fmt.Println("娓呯┖褰撳墠缁勬垚鍛橈細", masterIp)
 		} else {
 			masterIp = append(masterIp, strings.Split(ip, ":")[0])
 			if len(peersIp) == i+1 {
 				var waitGroup sync.WaitGroup
 				for i := 0; i < len(masterIp); i++ {
-					go Restart(masterIp[i], timeOut)
 					waitGroup.Add(1) //姣忓垱寤轰竴涓猤oroutine锛屽氨鎶婁换鍔¢槦鍒椾腑浠诲姟鐨勬暟閲�+1
+					go Restart(masterIp[i], timeOut)
+					waitGroup.Done()
 				}
 				waitGroup.Wait() //.Wait()杩欓噷浼氬彂鐢熼樆濉烇紝鐩村埌闃熷垪涓墍鏈夌殑浠诲姟缁撴潫灏变細瑙i櫎闃诲
 				masterIp = make([]string, 0)
 				break
 			}
 		}
+
 	}
+	fmt.Println("鏈嶅姟娴佺▼鎵ц瀹屾瘯")
+
 }
 
 //鑾峰彇鏌ユ壘鍐呭褰撳墠琛屽唴瀹�

--
Gitblit v1.8.0