From 9a8318514243ec5bdb0b4f156e2504de4f73c08c Mon Sep 17 00:00:00 2001 From: zhangwei <894646498@qq.com> Date: Thu, 27 Apr 2023 14:51:56 +0800 Subject: [PATCH] =?UTF-8?q?pcm-core=E4=BB=BB=E5=8A=A1=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=96=B9=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PCM-CORE/rpc/internal/logic/cronlogic.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/adaptor/PCM-CORE/rpc/internal/logic/cronlogic.go b/adaptor/PCM-CORE/rpc/internal/logic/cronlogic.go index 9c3e02a1..89ce4a9b 100644 --- a/adaptor/PCM-CORE/rpc/internal/logic/cronlogic.go +++ b/adaptor/PCM-CORE/rpc/internal/logic/cronlogic.go @@ -4,6 +4,7 @@ import ( "PCM/adaptor/PCM-CORE/model" "PCM/adaptor/PCM-CORE/rpc/internal/svc" "github.com/zeromicro/go-zero/core/logx" + "gorm.io/gorm" "strings" ) @@ -21,26 +22,28 @@ func InitCron(svc *svc.ServiceContext) { // 子状态统一则修改主任务状态 statusArray := strings.Split(allStatus, ",") if len(RemoveRepeatedElement(statusArray)) == 1 { - task.Status = statusArray[0] - svc.DbEngin.Updates(&task) + updateTask(svc.DbEngin, &task, statusArray[0]) continue } // 子任务包含失败状态 主任务则失败 if strings.Contains(allStatus, "Failed") { - task.Status = "Failed" - svc.DbEngin.Updates(&task) + updateTask(svc.DbEngin, &task, "Failed") continue } if strings.Contains(allStatus, "Running") { - task.Status = "Running" - svc.DbEngin.Updates(&task) + updateTask(svc.DbEngin, &task, "Running") } - } }) } +func updateTask(dbEngin *gorm.DB, task *model.Task, status string) { + if task.Status != status { + dbEngin.Updates(&task) + } +} + func RemoveRepeatedElement(arr []string) (newArr []string) { newArr = make([]string, 0) for i := 0; i < len(arr); i++ {