实现 StopUpgrade
This commit is contained in:
@@ -3,6 +3,7 @@ package task
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
@@ -10,6 +11,7 @@ import (
|
||||
"git.huangwc.com/pig/pig-farm-controller/internal/infra/logs"
|
||||
"git.huangwc.com/pig/pig-farm-controller/internal/infra/models"
|
||||
"git.huangwc.com/pig/pig-farm-controller/internal/infra/repository"
|
||||
"git.huangwc.com/pig/pig-farm-controller/internal/infra/utils/file"
|
||||
)
|
||||
|
||||
// OtaCheckTaskParams 定义了 OTA 检查任务所需的参数。
|
||||
@@ -91,6 +93,13 @@ func (t *otaCheckTask) Execute(ctx context.Context) error {
|
||||
if err := t.otaRepo.Update(taskCtx, task); err != nil {
|
||||
// 仅记录错误,不中断整个检查任务,以确保其他超时任务能被处理
|
||||
logger.Errorf("更新超时的OTA任务 #%d 状态失败: %v", task.ID, err)
|
||||
} else {
|
||||
// 数据库更新成功后,清理文件
|
||||
logger.Infof("OTA任务 #%d 状态已更新为超时,现在开始清理文件。", task.ID)
|
||||
dirToRemove := filepath.Join(models.OTADir, fmt.Sprintf("%d", task.ID))
|
||||
if removeErr := file.RemoveTempDir(dirToRemove); removeErr != nil {
|
||||
logger.Warnf("清理超时的OTA任务 #%d 的文件目录 %s 失败: %v", task.ID, dirToRemove, removeErr)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user