event create bug fix

This commit is contained in:
akrike
2025-08-31 20:54:25 +08:00
parent d42b89cc8b
commit c22384fbc0
3 changed files with 11 additions and 6 deletions

View File

@@ -7,25 +7,28 @@ import (
"github.com/lzh-1625/go_process_manager/internal/app/model" "github.com/lzh-1625/go_process_manager/internal/app/model"
"github.com/lzh-1625/go_process_manager/internal/app/repository" "github.com/lzh-1625/go_process_manager/internal/app/repository"
"github.com/lzh-1625/go_process_manager/log" "github.com/lzh-1625/go_process_manager/log"
"github.com/lzh-1625/go_process_manager/utils"
) )
type eventLogic struct{} type eventLogic struct{}
var EventLogic = new(eventLogic) var EventLogic = new(eventLogic)
func (e *eventLogic) Create(name string, eventType eum.EventType, additionalKv ...any) { func (e *eventLogic) Create(name string, eventType eum.EventType, additionalKv ...string) {
if len(additionalKv)%2 != 0 { if len(additionalKv)%2 != 0 {
log.Logger.Errorw("参数长度错误", "args", additionalKv) log.Logger.Errorw("参数长度错误", "args", additionalKv)
return
} }
data := model.Event{ data := model.Event{
Name: name, Name: name,
CreatedTime: time.Now(), CreatedTime: time.Now(),
Type: eventType, Type: eventType,
} }
m := map[any]any{} m := map[string]string{}
for i := range len(additionalKv) / 2 { for i := range len(additionalKv) / 2 {
m[additionalKv[2*i]] = additionalKv[2*i+1] m[additionalKv[2*i]] = additionalKv[2*i+1]
} }
data.Additional = utils.StructToJsonStr(m)
if err := repository.EventRepository.Create(data); err != nil { if err := repository.EventRepository.Create(data); err != nil {
log.Logger.Errorw("事件创建失败", "err", err) log.Logger.Errorw("事件创建失败", "err", err)
} }

View File

@@ -158,12 +158,14 @@ func (p *ProcessBase) SetState(state eum.ProcessState, fn ...func() bool) bool {
func (p *ProcessBase) createEvent(state eum.ProcessState) { func (p *ProcessBase) createEvent(state eum.ProcessState) {
var eventType eum.EventType var eventType eum.EventType
switch state { switch state {
case eum.ProcessStateStart: case eum.ProcessStateRunning:
eventType = eum.EventProcessStart eventType = eum.EventProcessStart
case eum.ProcessStateStop: case eum.ProcessStateStop:
eventType = eum.EventProcessStop eventType = eum.EventProcessStop
case eum.ProcessStateWarnning: case eum.ProcessStateWarnning:
eventType = eum.EventProcessWarning eventType = eum.EventProcessWarning
default:
return
} }
EventLogic.Create(p.Name, eventType) EventLogic.Create(p.Name, eventType)
} }

View File

@@ -39,7 +39,8 @@ func (t *TaskJob) Run(ctx context.Context) {
if ctx.Value(eum.CtxTaskTraceId{}) == nil { if ctx.Value(eum.CtxTaskTraceId{}) == nil {
ctx = context.WithValue(ctx, eum.CtxTaskTraceId{}, uuid.NewString()) ctx = context.WithValue(ctx, eum.CtxTaskTraceId{}, uuid.NewString())
} }
EventLogic.Create(t.TaskConfig.Name, eum.EventTaskStart, "traceId", ctx.Value(eum.CtxTaskTraceId{})) EventLogic.Create(t.TaskConfig.Name, eum.EventTaskStart, "traceId", ctx.Value(eum.CtxTaskTraceId{}).(string))
defer EventLogic.Create(t.TaskConfig.Name, eum.EventTaskStop, "traceId", ctx.Value(eum.CtxTaskTraceId{}).(string))
t.Running = true t.Running = true
middle.TaskWaitCond.Trigger() middle.TaskWaitCond.Trigger()
defer func() { defer func() {
@@ -71,7 +72,7 @@ func (t *TaskJob) Run(ctx context.Context) {
// 执行操作 // 执行操作
log.Logger.Infow("任务开始执行") log.Logger.Infow("任务开始执行")
if !OperationHandle[t.TaskConfig.Operation](t.TaskConfig, proc) { if !OperationHandle[t.TaskConfig.Operation](t.TaskConfig, proc) {
log.Logger.Errorw("任务执行失败") log.Logger.Warnw("任务执行失败")
return return
} }
log.Logger.Infow("任务执行成功", "target", t.TaskConfig.OperationTarget) log.Logger.Infow("任务执行成功", "target", t.TaskConfig.OperationTarget)
@@ -96,7 +97,6 @@ func (t *TaskJob) Run(ctx context.Context) {
} else { } else {
log.Logger.Infow("任务流结束") log.Logger.Infow("任务流结束")
} }
EventLogic.Create(t.TaskConfig.Name, eum.EventProcessStop, "traceId", ctx.Value(eum.CtxTaskTraceId{}))
} }
func (t *TaskJob) InitCronHandle() error { func (t *TaskJob) InitCronHandle() error {