From bac05651aa5d03129a487d4a4422e6cfa9b53bc8 Mon Sep 17 00:00:00 2001 From: gazebo Date: Sat, 20 Oct 2018 15:13:26 +0800 Subject: [PATCH] - CancelTask api. --- controllers/cms_task.go | 20 ++++++++++++++++++++ routers/commentsRouter_controllers.go | 8 ++++++++ 2 files changed, 28 insertions(+) diff --git a/controllers/cms_task.go b/controllers/cms_task.go index 64ee566dc..829701d25 100644 --- a/controllers/cms_task.go +++ b/controllers/cms_task.go @@ -1,6 +1,8 @@ package controllers import ( + "fmt" + "git.rosy.net.cn/jx-callback/business/jxutils/tasksch" "github.com/astaxie/beego" ) @@ -33,3 +35,21 @@ func (c *TaskController) GetTasks() { return retVal, "", err }) } + +// @Title 取消长时间运行任务 +// @Description 取消长时间运行任务 +// @Param token header string true "认证token" +// @Param taskID query string false "任务ID" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /CancelTask [put] +func (c *TaskController) CancelTask() { + c.callCancelTask(func(params *tTaskCancelTaskParams) (retVal interface{}, errCode string, err error) { + tasks := tasksch.GetTasks(params.TaskID, tasksch.TaskStatusBegin, tasksch.TaskStatusEnd, 3*24) + if len(tasks) != 1 { + return nil, "", fmt.Errorf("taskID:%s,找不到或找到不仅一个任务", params.TaskID) + } + tasks[0].Cancel() + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index ac7b0ce49..b670f61a4 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -551,6 +551,14 @@ func init() { MethodParams: param.Make(), Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TaskController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TaskController"], + beego.ControllerComments{ + Method: "CancelTask", + Router: `/CancelTask`, + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TaskController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TaskController"], beego.ControllerComments{ Method: "GetTasks",