refactor(redis): retain existing task execution flow

This commit is contained in:
ssongliu
2026-10-09 18:19:35 +08:00
parent c6e0b61720
commit 4fff7bccdd
2 changed files with 2 additions and 22 deletions
+1 -6
View File
@@ -558,15 +558,10 @@ func (u *ContainerService) ContainerCreate(req dto.ContainerOperate, inThread bo
}, nil)
if inThread {
if err := taskItem.Prepare(); err != nil {
unlock()
_ = client.Close()
return err
}
go func() {
defer unlock()
defer client.Close()
if err := taskItem.ExecutePrepared(); err != nil {
if err := taskItem.Execute(); err != nil {
global.LOG.Error(err.Error())
}
}()
+1 -16
View File
@@ -284,25 +284,10 @@ func (t *Task) updateTask(task *model.Task) {
_ = t.taskRepo.Update(context.Background(), task)
}
// Prepare makes a task visible before dispatching it to a background worker.
func (t *Task) Prepare() error {
if err := t.taskRepo.Save(context.Background(), t.Task); err != nil {
_ = t.logFile.Close()
global.RemoveTaskCancel(t.TaskID)
return err
}
return nil
}
func (t *Task) Execute() error {
if err := t.Prepare(); err != nil {
if err := t.taskRepo.Save(context.Background(), t.Task); err != nil {
return err
}
return t.ExecutePrepared()
}
// ExecutePrepared runs a task after the caller has successfully called Prepare.
func (t *Task) ExecutePrepared() error {
var err error
t.Log(i18n.GetWithName("TaskStart", t.Name))
for i := 0; i < len(t.SubTasks); i++ {