加入重试

This commit is contained in:
marvzhang
2020-03-29 15:45:25 +08:00
parent 917e2d1735
commit 1ddeaef69b
7 changed files with 99 additions and 7 deletions

View File

@@ -231,6 +231,7 @@ func main() {
authGroup.GET("/tasks/:id/log", routes.GetTaskLog) // 任务日志
authGroup.GET("/tasks/:id/results", routes.GetTaskResults) // 任务结果
authGroup.GET("/tasks/:id/results/download", routes.DownloadTaskResultsCsv) // 下载任务结果
authGroup.POST("/tasks/:id/restart", routes.RestartTask) // 重新开始任务
}
// 定时任务
{

View File

@@ -353,3 +353,15 @@ func CancelTask(c *gin.Context) {
}
HandleSuccess(c)
}
func RestartTask(c *gin.Context) {
id := c.Param("id")
uid := services.GetCurrentUserId(c)
if err := services.RestartTask(id, uid); err != nil {
HandleError(http.StatusInternalServerError, c, err)
return
}
HandleSuccess(c)
}

View File

@@ -675,6 +675,35 @@ func CancelTask(id string) (err error) {
return nil
}
func RestartTask(id string, uid bson.ObjectId) (err error) {
// 获取任务
oldTask, err := model.GetTask(id)
if err != nil {
log.Errorf("task not found, task id : %s, error: %s", id, err.Error())
debug.PrintStack()
return err
}
newTask := model.Task{
SpiderId: oldTask.SpiderId,
NodeId: oldTask.NodeId,
Param: oldTask.Param,
UserId: uid,
RunType: oldTask.RunType,
ScheduleId: bson.ObjectIdHex(constants.ObjectIdNull),
}
// 加入任务队列
_, err = AddTask(newTask)
if err != nil {
log.Errorf(err.Error())
debug.PrintStack()
return err
}
return nil
}
func AddTask(t model.Task) (string, error) {
// 生成任务ID
id := uuid.NewV4()