瀏覽代碼

Limit download concurrency to 25 threads

morganamilo 6 年之前
父節點
當前提交
1beeaaf299
共有 2 個文件被更改,包括 10 次插入0 次删除
  1. 5 0
      download.go
  2. 5 0
      install.go

+ 5 - 0
download.go

@@ -286,9 +286,14 @@ func getPkgbuildsfromABS(pkgs []string, path string) (bool, error) {
 		mux.Unlock()
 	}
 
+	count := 0
 	for name, url := range names {
 		wg.Add(1)
 		go download(name, url)
+		count++
+		if count%25 == 0 {
+			wg.Wait()
+		}
 	}
 
 	wg.Wait()

+ 5 - 0
install.go

@@ -872,9 +872,14 @@ func downloadPkgbuilds(bases []Base, toSkip stringSet, buildDir string) (stringS
 		mux.Unlock()
 	}
 
+	count := 0
 	for k, base := range bases {
 		wg.Add(1)
 		go download(k, base)
+		count++
+		if count%25 == 0 {
+			wg.Wait()
+		}
 	}
 
 	wg.Wait()