mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-07-01 01:36:11 +08:00
fix: cleanup inprocess task on service restart (#21961)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user