MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / Execute

Method Execute

core/app/task/task.go:183–222  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

181}
182
183func (t *Task) Execute() error {
184 if err := t.taskRepo.Save(context.Background(), t.Task); err != nil {
185 return err
186 }
187 var err error
188 t.Log(i18n.GetWithName("TaskStart", t.Name))
189 for _, subTask := range t.SubTasks {
190 subTask.CancelWhenTimeout = t.CancelWhenTimeout
191 t.Task.CurrentStep = subTask.StepAlias
192 t.updateTask(t.Task)
193 if err = subTask.Execute(); err == nil {
194 if subTask.Rollback != nil {
195 t.Rollbacks = append(t.Rollbacks, subTask.Rollback)
196 }
197 } else {
198 if subTask.IgnoreErr {
199 err = nil
200 continue
201 }
202 t.Task.ErrorMsg = err.Error()
203 t.Task.Status = constant.StatusFailed
204 for _, rollback := range t.Rollbacks {
205 rollback(t)
206 }
207 t.updateTask(t.Task)
208 break
209 }
210 }
211 if t.Task.Status == constant.StatusExecuting {
212 t.Task.Status = constant.StatusSuccess
213 t.Log(i18n.GetWithName("TaskSuccess", t.Name))
214 } else {
215 t.Log(i18n.GetWithName("TaskFailed", t.Name))
216 }
217 t.Log("[TASK-END]")
218 t.Task.EndAt = time.Now()
219 t.updateTask(t.Task)
220 _ = t.logFile.Close()
221 return err
222}
223
224func (t *Task) DeleteLogFile() {
225 _ = os.Remove(t.Task.LogFile)

Callers 2

mainFunction · 0.45
SyncMethod · 0.45

Calls 5

LogMethod · 0.95
updateTaskMethod · 0.95
SaveMethod · 0.65
CloseMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected