异步任务回调成功-发送通知
parent
70bccfaea0
commit
f699a72c28
|
@ -72,6 +72,17 @@ func (taskLog *TaskLog) List(params CommonMap) ([]TaskLog, error) {
|
||||||
return list, err
|
return list, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 根据通知ID获取任务ID
|
||||||
|
func (taskLog *TaskLog) GetTaskIdByNotifyId(notifyId string) (taskId int, err error) {
|
||||||
|
exist, err := Db.Where("notify_id = ?", notifyId).Get(taskLog)
|
||||||
|
if !exist || err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
taskId = taskLog.TaskId
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// 清空表
|
// 清空表
|
||||||
func (taskLog *TaskLog) Clear() (int64, error) {
|
func (taskLog *TaskLog) Clear() (int64, error) {
|
||||||
return Db.Where("1=1").Delete(taskLog);
|
return Db.Where("1=1").Delete(taskLog);
|
||||||
|
|
|
@ -150,7 +150,9 @@ func RegisterMiddleware(m *macaron.Macaron) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 系统未安装,重定向到安装页面
|
// region 自定义中间件
|
||||||
|
|
||||||
|
/** 系统未安装,重定向到安装页面 **/
|
||||||
func checkAppInstall(m *macaron.Macaron) {
|
func checkAppInstall(m *macaron.Macaron) {
|
||||||
m.Use(func(ctx *macaron.Context) {
|
m.Use(func(ctx *macaron.Context) {
|
||||||
installUrl := "/install"
|
installUrl := "/install"
|
||||||
|
@ -196,7 +198,9 @@ func userAuth(ctx *macaron.Context, sess session.Store) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置共享数据
|
// endregion
|
||||||
|
|
||||||
|
/** 设置共享数据 **/
|
||||||
func setShareData(ctx *macaron.Context, sess session.Store) {
|
func setShareData(ctx *macaron.Context, sess session.Store) {
|
||||||
ctx.Data["URI"] = ctx.Req.URL.Path
|
ctx.Data["URI"] = ctx.Req.URL.Path
|
||||||
urlPath := strings.TrimPrefix(ctx.Req.URL.Path, "/")
|
urlPath := strings.TrimPrefix(ctx.Req.URL.Path, "/")
|
||||||
|
|
|
@ -11,6 +11,8 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"html/template"
|
"html/template"
|
||||||
"github.com/ouqiang/gocron/routers/base"
|
"github.com/ouqiang/gocron/routers/base"
|
||||||
|
"github.com/ouqiang/gocron/service"
|
||||||
|
"errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Index(ctx *macaron.Context) {
|
func Index(ctx *macaron.Context) {
|
||||||
|
@ -86,6 +88,26 @@ func UpdateStatus(ctx *macaron.Context) string {
|
||||||
return json.CommonFailure("更新任务状态失败")
|
return json.CommonFailure("更新任务状态失败")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 发送通知
|
||||||
|
taskId, err := taskLogModel.GetTaskIdByNotifyId(id)
|
||||||
|
if err != nil || taskId <= 0 {
|
||||||
|
logger.Error("异步任务回调#根据notify-id获取taskId失败", err)
|
||||||
|
return json.Success("success", nil)
|
||||||
|
}
|
||||||
|
taskModel := new(models.Task)
|
||||||
|
task, err := taskModel.Detail(taskId)
|
||||||
|
if err != nil || task.Id <= 0 {
|
||||||
|
logger.Error("异步任务回调#根据获取任务详情失败", err)
|
||||||
|
return json.Success("success", nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
taskResult := service.TaskResult{}
|
||||||
|
taskResult.Result = result
|
||||||
|
if status == 0 {
|
||||||
|
taskResult.Err = errors.New("error")
|
||||||
|
}
|
||||||
|
service.SendNotification(task, taskResult)
|
||||||
|
|
||||||
return json.Success("success", nil)
|
return json.Success("success", nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -346,11 +346,11 @@ func afterExecJob(taskModel models.TaskHost, taskResult TaskResult, taskLogId in
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
sendNotification(taskModel, taskResult)
|
SendNotification(taskModel, taskResult)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 发送任务结果通知
|
// 发送任务结果通知
|
||||||
func sendNotification(taskModel models.TaskHost, taskResult TaskResult) {
|
func SendNotification(taskModel models.TaskHost, taskResult TaskResult) {
|
||||||
var statusName string
|
var statusName string
|
||||||
// 未开启通知
|
// 未开启通知
|
||||||
if taskModel.NotifyStatus == 0 {
|
if taskModel.NotifyStatus == 0 {
|
||||||
|
@ -360,6 +360,9 @@ func sendNotification(taskModel models.TaskHost, taskResult TaskResult) {
|
||||||
// 执行失败才发送通知
|
// 执行失败才发送通知
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if taskModel.NotifyReceiverId == "" {
|
||||||
|
return
|
||||||
|
}
|
||||||
if taskResult.Err != nil {
|
if taskResult.Err != nil {
|
||||||
statusName = "失败"
|
statusName = "失败"
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue