mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2026-10-12 08:00:34 +00:00
refactor(redis): retain existing task execution flow
This commit is contained in:
@@ -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
@@ -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++ {
|
||||
|
||||
Reference in New Issue
Block a user