From 19acd74d262d73fea374848f7a8a865731d99d9a Mon Sep 17 00:00:00 2001 From: allenshen Date: Wed, 9 Feb 2022 14:55:38 +0800 Subject: [PATCH] add fail lock Signed-off-by: allenshen --- pkg/microservice/aslan/core/environment/service/environment.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/microservice/aslan/core/environment/service/environment.go b/pkg/microservice/aslan/core/environment/service/environment.go index 577fc79db9..0330f687a8 100644 --- a/pkg/microservice/aslan/core/environment/service/environment.go +++ b/pkg/microservice/aslan/core/environment/service/environment.go @@ -2480,6 +2480,7 @@ func intervalExecutor(interval time.Duration, serviceList []*commonmodels.Servic return nil } wg := sync.WaitGroup{} + var failLock sync.Mutex wg.Add(len(serviceList)) errList := make([]error, 0) ticker := time.NewTicker(interval) @@ -2490,6 +2491,8 @@ func intervalExecutor(interval time.Duration, serviceList []*commonmodels.Servic defer wg.Done() err := handler(singleService, isRetry, log) if err != nil { + failLock.Lock() + defer failLock.Unlock() errList = append(errList, err) *failedServices = append(*failedServices, singleService) log.Errorf("service:%s apply failed, err %s", singleService.ServiceName, err)