use the new wg.Go() function

This commit is contained in:
2026-07-13 12:33:04 +02:00
parent 05ac8eb870
commit 3a75ad847b
3 changed files with 36 additions and 14 deletions

View File

@@ -104,15 +104,33 @@ func getClusterStatus(conf *cfg.Config) (*apiResponse, error) {
wg := &sync.WaitGroup{} wg := &sync.WaitGroup{}
wg.Add(gocount) wg.Add(gocount)
go getApiData(conf, es, wg, responses, "health")
go getApiData(conf, es, wg, responses, "healthreport") wg.Go(func() {
go getApiData(conf, es, wg, responses, "info") getApiData(conf, es, responses, "health")
go getApiData(conf, es, wg, responses, "ccr") })
go getApiData(conf, es, wg, responses, "indices")
go getApiData(conf, es, wg, responses, "tasks") wg.Go(func() {
getApiData(conf, es, responses, "healthreport")
})
wg.Go(func() {
getApiData(conf, es, responses, "info")
})
wg.Go(func() {
getApiData(conf, es, responses, "ccr")
})
wg.Go(func() {
getApiData(conf, es, responses, "indices")
})
wg.Go(func() {
getApiData(conf, es, responses, "tasks")
})
if conf.Verbose { if conf.Verbose {
go getApiData(conf, es, wg, responses, "stats") getApiData(conf, es, responses, "stats")
} }
wg.Wait() wg.Wait()

View File

@@ -186,11 +186,18 @@ func virtualAge(phase *PhaseData) time.Duration {
func getIlmPhaseData(conf *cfg.Config) ([]PhaseData, error) { func getIlmPhaseData(conf *cfg.Config) ([]PhaseData, error) {
responses := make(chan apiResponse, 3) responses := make(chan apiResponse, 3)
wg := &sync.WaitGroup{} wg := &sync.WaitGroup{}
wg.Add(3)
go getApiData(conf, conf.DefaultCluster.ES(), wg, responses, "indicesbytes") wg.Go(func() {
go getApiData(conf, conf.DefaultCluster.ES(), wg, responses, "explain") getApiData(conf, conf.DefaultCluster.ES(), responses, "indicesbytes")
go getApiData(conf, conf.DefaultCluster.ES(), wg, responses, "policies") })
wg.Go(func() {
getApiData(conf, conf.DefaultCluster.ES(), responses, "explain")
})
wg.Go(func() {
getApiData(conf, conf.DefaultCluster.ES(), responses, "policies")
})
wg.Wait() wg.Wait()

View File

@@ -19,7 +19,6 @@ package es
import ( import (
"context" "context"
"fmt" "fmt"
"sync"
"codeberg.org/scip/esctl/pkg/cfg" "codeberg.org/scip/esctl/pkg/cfg"
"github.com/elastic/go-elasticsearch/v9" "github.com/elastic/go-elasticsearch/v9"
@@ -64,10 +63,8 @@ type apiResponse struct {
func getApiData( func getApiData(
conf *cfg.Config, conf *cfg.Config,
es *elasticsearch.TypedClient, es *elasticsearch.TypedClient,
wg *sync.WaitGroup,
reschan chan apiResponse, reschan chan apiResponse,
which string) { which string) {
defer wg.Done()
apiRes := apiResponse{} apiRes := apiResponse{}