6
У меня есть CSV-файл с ~ 10k URL-адресами, которые мне нужны для HTTP-получения. Каков самый простой способ ограничить параллелизм подпрограмм Go не более 16 раз за раз?Простой метод ограничения параллелизма в Go
func getUrl(url string) {
request := gorequest.New()
resp, body, errs := request.Get(each[1]).End()
_ = resp
_ = body
_ = errs
}
func main() {
csvfile, err := os.Open("urls.csv")
defer csvfile.Close()
reader := csv.NewReader(csvfile)
reader.FieldsPerRecord = -1
rawCSVdata, err := reader.ReadAll()
completed := 0
for _, each := range rawCSVdata {
go getUrl(each[1])
completed++
}
}
Этот вопрос может иметь отношение http://stackoverflow.com/q/18405023 – afsantos