lock
All checks were successful
Build and Publish / Metadata (push) Successful in 11s
Build and Publish / BuildAndDeployAmd64 (push) Successful in 1m24s
Build and Publish / BuildAndDeployArm64 (push) Successful in 3m57s

This commit is contained in:
matst80
2025-10-13 22:19:46 +02:00
parent 27c866ce58
commit 22ac64c14d

View File

@@ -177,18 +177,20 @@ type SetCartItems struct {
func getMultipleAddMessages(items []Item, country string) []proto.Message { func getMultipleAddMessages(items []Item, country string) []proto.Message {
wg := sync.WaitGroup{} wg := sync.WaitGroup{}
mu := sync.Mutex{}
msgs := make([]proto.Message, 0, len(items)) msgs := make([]proto.Message, 0, len(items))
for _, itm := range items { for _, itm := range items {
wg.Add(1) wg.Go(
go func(itm Item) { func() {
defer wg.Done()
msg, err := GetItemAddMessage(itm.Sku, itm.Quantity, country, itm.StoreId) msg, err := GetItemAddMessage(itm.Sku, itm.Quantity, country, itm.StoreId)
if err != nil { if err != nil {
log.Printf("error adding item %s: %v", itm.Sku, err) log.Printf("error adding item %s: %v", itm.Sku, err)
return return
} }
mu.Lock()
msgs = append(msgs, msg) msgs = append(msgs, msg)
}(itm) mu.Unlock()
})
} }
wg.Wait() wg.Wait()
return msgs return msgs