( basicRes context.BasicRes, ctx plugin.SubTaskContext, parentID uint64, subtaskNumber int, entryPoint plugin.SubTaskEntryPoint, )
| 400 | } |
| 401 | |
| 402 | func runSubtask( |
| 403 | basicRes context.BasicRes, |
| 404 | ctx plugin.SubTaskContext, |
| 405 | parentID uint64, |
| 406 | subtaskNumber int, |
| 407 | entryPoint plugin.SubTaskEntryPoint, |
| 408 | ) errors.Error { |
| 409 | beginAt := time.Now() |
| 410 | subtask := &models.Subtask{ |
| 411 | Name: ctx.GetName(), |
| 412 | TaskID: parentID, |
| 413 | Number: subtaskNumber, |
| 414 | BeganAt: &beginAt, |
| 415 | } |
| 416 | recordSubtask(basicRes, subtask) |
| 417 | // defer to record subtask status |
| 418 | defer func() { |
| 419 | finishedAt := time.Now() |
| 420 | subtask.FinishedAt = &finishedAt |
| 421 | subtask.SpentSeconds = finishedAt.Unix() - beginAt.Unix() |
| 422 | |
| 423 | recordSubtask(basicRes, subtask) |
| 424 | }() |
| 425 | return entryPoint(ctx) |
| 426 | } |
| 427 | |
| 428 | func recordSubtask(basicRes context.BasicRes, subtask *models.Subtask) { |
| 429 | where := dal.Where("task_id = ? and name = ?", subtask.TaskID, subtask.Name) |
no test coverage detected