From 7a479e2ed4ea4f699133bf4adca86e09510ab41f Mon Sep 17 00:00:00 2001 From: cute-angelia Date: Sat, 26 Aug 2023 23:46:05 +0800 Subject: [PATCH] fix minio removeobjects --- internal/dao/storage/minio.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/internal/dao/storage/minio.go b/internal/dao/storage/minio.go index 3859a5b7..cc2b71a2 100644 --- a/internal/dao/storage/minio.go +++ b/internal/dao/storage/minio.go @@ -134,13 +134,16 @@ func (s *minioServant) DeleteObject(objectKey string) error { func (s *minioServant) DeleteObjects(objectKeys []string) (err error) { objectsCh := make(chan minio.ObjectInfo, len(objectKeys)) - resCh := s.client.RemoveObjects(context.Background(), s.bucket, objectsCh, minio.RemoveObjectsOptions{}) - for _, objectKey := range objectKeys { - objectsCh <- minio.ObjectInfo{ - Key: objectKey, + go func() { + defer close(objectsCh) + for _, objectKey := range objectKeys { + objectsCh <- minio.ObjectInfo{ + Key: objectKey, + } } - } + }() + resCh := s.client.RemoveObjects(context.Background(), s.bucket, objectsCh, minio.RemoveObjectsOptions{}) // 宽松处理所有错误,只记录最后一次发生的错误 for result := range resCh { if result.Err != nil {