mirror of
https://github.com/nezhahq/nezha.git
synced 2025-01-22 20:58:14 -05:00
update: 调度失败的计划任务仅通知其所属的通知组
This commit is contained in:
parent
615e337b42
commit
ab033f3b2e
@ -28,8 +28,8 @@ func LoadCronTasks() {
|
|||||||
var crons []model.Cron
|
var crons []model.Cron
|
||||||
DB.Find(&crons)
|
DB.Find(&crons)
|
||||||
var err error
|
var err error
|
||||||
errMsg := new(bytes.Buffer)
|
|
||||||
var notificationTagList []string
|
var notificationTagList []string
|
||||||
|
notificationMsgMap := make(map[string]*bytes.Buffer)
|
||||||
for i := range crons {
|
for i := range crons {
|
||||||
// 旧版本计划任务可能不存在通知组 为其添加默认通知组
|
// 旧版本计划任务可能不存在通知组 为其添加默认通知组
|
||||||
if crons[i].NotificationTag == "" {
|
if crons[i].NotificationTag == "" {
|
||||||
@ -40,19 +40,19 @@ func LoadCronTasks() {
|
|||||||
if err == nil {
|
if err == nil {
|
||||||
Crons[crons[i].ID] = &crons[i]
|
Crons[crons[i].ID] = &crons[i]
|
||||||
} else {
|
} else {
|
||||||
if errMsg.Len() == 0 {
|
// 当前通知组首次出现 将其加入通知组列表并初始化通知组消息缓存
|
||||||
errMsg.WriteString("调度失败的计划任务:[")
|
if _, ok := notificationMsgMap[crons[i].NotificationTag]; !ok {
|
||||||
}
|
|
||||||
errMsg.WriteString(fmt.Sprintf("%d,", crons[i].ID))
|
|
||||||
notificationTagList = append(notificationTagList, crons[i].NotificationTag)
|
notificationTagList = append(notificationTagList, crons[i].NotificationTag)
|
||||||
|
notificationMsgMap[crons[i].NotificationTag] = bytes.NewBufferString("")
|
||||||
|
notificationMsgMap[crons[i].NotificationTag].WriteString("调度失败的计划任务:[")
|
||||||
|
}
|
||||||
|
notificationMsgMap[crons[i].NotificationTag].WriteString(fmt.Sprintf("%d,", crons[i].ID))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if errMsg.Len() > 0 {
|
// 向注册错误的计划任务所在通知组发送通知
|
||||||
msg := errMsg.String() + "] 这些任务将无法正常执行,请进入后点重新修改保存。"
|
|
||||||
for _, tag := range notificationTagList {
|
for _, tag := range notificationTagList {
|
||||||
// 向调度错误的计划任务所包含的所有通知组发送通知
|
notificationMsgMap[tag].WriteString("] 这些任务将无法正常执行,请进入后点重新修改保存。")
|
||||||
SendNotification(tag, msg, false)
|
SendNotification(tag, notificationMsgMap[tag].String(), false)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Cron.Start()
|
Cron.Start()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user