From 23b83cae39eb9679ad9904ea9ab2e3dcfb3c876a Mon Sep 17 00:00:00 2001 From: WangLiZhao <1838393649@qq.com> Date: Thu, 23 Apr 2026 15:02:24 +0800 Subject: [PATCH] =?UTF-8?q?refactor(cleaner):=20=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E6=9C=AA=E4=BD=BF=E7=94=A8=E7=9A=84=E5=AD=98=E5=82=A8=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 清理任务时不再调用 Storage.DeleteByTask 方法,因为当前 OSS 服务暂未提供删除接口。 从 StorageService 接口和 ossStorage 实现中移除 DeleteByTask 方法,并更新清理逻辑。 --- service/cleaner.go | 4 +--- service/storage.go | 1 - service/storage_oss.go | 7 ------- 3 files changed, 1 insertion(+), 11 deletions(-) diff --git a/service/cleaner.go b/service/cleaner.go index 8305136..75f8856 100644 --- a/service/cleaner.go +++ b/service/cleaner.go @@ -45,7 +45,6 @@ func (c *cleaner) runOnce(ctx context.Context) { g.Log().Errorf(ctx, "[cleaner] list expired(downloaded) error: %v", err) } else { for _, t := range expired { - _ = Storage.DeleteByTask(ctx, t) _ = dao.Task.HardDeleteByIDGlobal(ctx, t.Id) } g.Log().Infof(ctx, "[cleaner] expired(downloaded) cleaned, count=%d", len(expired)) @@ -77,13 +76,12 @@ func (c *cleaner) runOnce(ctx context.Context) { g.Log().Infof(ctx, "[cleaner] failed retryable cleaned, count=%d", len(retryable)) } - // 4) 超过重试次数仍失败(state=3)的任务:硬删除 + OSS + // 4) 超过重试次数仍失败(state=3)的任务:硬删除 exhausted, err := dao.Task.ListFailedExhaustedGlobal(ctx, 200) if err != nil { g.Log().Errorf(ctx, "[cleaner] list failed exhausted error: %v", err) } else { for _, t := range exhausted { - _ = Storage.DeleteByTask(ctx, t) _ = dao.Task.HardDeleteByIDGlobal(ctx, t.Id) } g.Log().Infof(ctx, "[cleaner] failed exhausted cleaned, count=%d", len(exhausted)) diff --git a/service/storage.go b/service/storage.go index 39ec846..920071f 100644 --- a/service/storage.go +++ b/service/storage.go @@ -10,7 +10,6 @@ import ( // StorageService 结果存储(OSS/MinIO)抽象 type StorageService interface { UploadByTask(ctx context.Context, t *entity.AsynchTask, data []byte, fileExt string, contentType string) (ossURL string, err error) - DeleteByTask(ctx context.Context, t *entity.AsynchTask) error } // Storage 默认存储实现(优先对接你们的 oss 文件服务;必要时也可以切到 MinIO) diff --git a/service/storage_oss.go b/service/storage_oss.go index f9977ad..6d16a49 100644 --- a/service/storage_oss.go +++ b/service/storage_oss.go @@ -68,13 +68,6 @@ func (s *ossStorage) UploadByTask(ctx context.Context, _ *entity.AsynchTask, dat return resp.FileURL, nil } -func (s *ossStorage) DeleteByTask(ctx context.Context, t *entity.AsynchTask) error { - // 你说当前 oss 暂时没有删除接口:这里保留方法占位,后续补接口时直接实现 - _ = ctx - _ = t - return nil -} - // setTaskHeadersToCtx 把任务入库时保存的 header 信息注入 ctx,给 worker 调 OSS 用 func setTaskHeadersToCtx(ctx context.Context, headers map[string]string) context.Context { if headers == nil {