fix: cleanup inprocess task on service restart (#21961)

Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
This commit is contained in:
Jian Qiu
2025-01-14 01:15:39 +08:00
committed by GitHub
parent 4f31176e38
commit 3047cf2fe1
2 changed files with 3 additions and 2 deletions

View File

@@ -71,6 +71,7 @@ func (manager *SArchivedTaskManager) NamespaceScope() rbacscope.TRbacScope {
func (manager *SArchivedTaskManager) Insert(ctx context.Context, task *STask) error {
archivedTask := SArchivedTask{}
archivedTask.SetModelManager(manager, &archivedTask)
archivedTask.TaskId = task.Id
archivedTask.STaskBase = task.STaskBase
archivedTask.ObjIds = TaskObjectManager.GetObjectIds(task)

View File

@@ -1274,14 +1274,14 @@ func (manager *STaskManager) InitializeData() error {
func (manager *STaskManager) failTimeoutTasks() error {
// failed unfinished tasks 24 hours ago
q := manager.Query().NotIn("stage", []string{TASK_STAGE_FAILED, TASK_STAGE_COMPLETE})
q = q.LT("created_at", time.Now().Add(-24*time.Hour))
// q = q.LT("created_at", time.Now().Add(-24*time.Hour))
tasks := make([]STask, 0)
err := db.FetchModelObjects(manager, q, &tasks)
if err != nil {
return errors.Wrap(err, "FetchModelObjects")
}
reason := jsonutils.NewString("service restart and the task timeout(more than 24hour)")
reason := jsonutils.NewString("service restart")
for i := range tasks {
tasks[i].SetStageFailed(context.Background(), reason)
}