#2711 修复虎鲸训练任务自动结束时没有微信通知的问题

Merged
lewis merged 1 commits from fix-2631 into V20220815 1 year ago
  1. +3
    -0
      modules/auth/wechat/template.go
  2. +3
    -0
      modules/notification/wechat/wechat.go
  3. +4
    -0
      routers/api/v1/repo/modelarts.go

+ 3
- 0
modules/auth/wechat/template.go View File

@@ -27,11 +27,13 @@ func SendTemplateMsg(template Template, ctx *TemplateContext, userId int64) erro
}
}()
if !template.ShouldSend(ctx) {
log.Info("SendTemplateMsg should not Send.jobId=%d jobType=%s", ctx.Cloudbrain.ID, ctx.Cloudbrain.JobType)
return nil
}

openId := models.GetUserWechatOpenId(userId)
if openId == "" {
log.Error("Wechat openId not exist,userId=%d", userId)
return errors.New("Wechat openId not exist")
}
req := TemplateMsgRequest{
@@ -56,5 +58,6 @@ func SendTemplateMsg(template Template, ctx *TemplateContext, userId int64) erro
log.Error("SendTemplateMsg err. %v", err)
return err
}
log.Info("SendTemplateMsg success")
return nil
}

+ 3
- 0
modules/notification/wechat/wechat.go View File

@@ -7,6 +7,7 @@ package wechat
import (
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/auth/wechat"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/notification/base"
)

@@ -24,8 +25,10 @@ func NewNotifier() base.Notifier {
}

func (*wechatNotifier) NotifyChangeCloudbrainStatus(cloudbrain *models.Cloudbrain, oldStatus string) {
log.Info("NotifyChangeCloudbrainStatus cloudbrain.id=%d cloudbrain.status=%s oldStatus=%s", cloudbrain.ID, cloudbrain.Status, oldStatus)
operateType := wechat.GetJobOperateTypeFromCloudbrainStatus(cloudbrain)
if operateType == "" {
log.Info("NotifyChangeCloudbrainStatus operateType is incorrect")
return
}
template := wechat.GetTemplateFromOperateType(operateType)


+ 4
- 0
routers/api/v1/repo/modelarts.go View File

@@ -154,6 +154,7 @@ func GetModelArtsTrainJobVersion(ctx *context.APIContext) {
if job.StartTime == 0 && result.JobInfo.StartedAt > 0 {
job.StartTime = timeutil.TimeStamp(result.JobInfo.StartedAt)
}
oldStatus := job.Status
job.Status = grampus.TransTrainJobStatus(result.JobInfo.Status)
job.Duration = result.JobInfo.RunSec
job.TrainJobDuration = models.ConvertDurationToStr(job.Duration)
@@ -176,6 +177,9 @@ func GetModelArtsTrainJobVersion(ctx *context.APIContext) {
aiCenterName = temp[1]
}
}
if oldStatus != job.Status {
notification.NotifyChangeCloudbrainStatus(job, oldStatus)
}
err = models.UpdateTrainJobVersion(job)
if err != nil {
log.Error("UpdateJob failed:", err)


Loading…
Cancel
Save