From 81da14d615d973530eaafe16df7fd81cab9be700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Fri, 22 Aug 2025 22:55:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=83=B5=E5=B0=B8?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B8=85=E7=90=86=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/biz/task.go | 1 + internal/data/task.go | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/internal/biz/task.go b/internal/biz/task.go index 5711b6d4..9d59abcb 100644 --- a/internal/biz/task.go +++ b/internal/biz/task.go @@ -28,4 +28,5 @@ type TaskRepo interface { Delete(id uint) error UpdateStatus(id uint, status TaskStatus) error Push(task *Task) error + ClearZombieTasks() error } diff --git a/internal/data/task.go b/internal/data/task.go index a27e009e..414866e8 100644 --- a/internal/data/task.go +++ b/internal/data/task.go @@ -73,3 +73,10 @@ func (r *taskRepo) Push(task *biz.Task) error { task.ID, }) } + +func (r *taskRepo) ClearZombieTasks() error { + if err := r.db.Model(&biz.Task{}).Where("status = ? or status = ?", biz.TaskStatusRunning, biz.TaskStatusWaiting).Update("status", biz.TaskStatusFailed).Error; err != nil { + return err + } + return nil +}