pcm-core任务状态同步方式修改
This commit is contained in:
parent
74931f6c48
commit
9a83185142
|
@ -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++ {
|
||||
|
|
Loading…
Reference in New Issue