From c22384fbc0da361ad7824e838bd11a60a34a3c55 Mon Sep 17 00:00:00 2001 From: akrike <1625167628@qq.com> Date: Sun, 31 Aug 2025 20:54:25 +0800 Subject: [PATCH] event create bug fix --- internal/app/logic/event.go | 7 +++++-- internal/app/logic/process_base.go | 4 +++- internal/app/logic/task.go | 6 +++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/internal/app/logic/event.go b/internal/app/logic/event.go index 38c98d7..0542312 100644 --- a/internal/app/logic/event.go +++ b/internal/app/logic/event.go @@ -7,25 +7,28 @@ import ( "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/log" + "github.com/lzh-1625/go_process_manager/utils" ) type eventLogic struct{} 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 { log.Logger.Errorw("参数长度错误", "args", additionalKv) + return } data := model.Event{ Name: name, CreatedTime: time.Now(), Type: eventType, } - m := map[any]any{} + m := map[string]string{} for i := range len(additionalKv) / 2 { m[additionalKv[2*i]] = additionalKv[2*i+1] } + data.Additional = utils.StructToJsonStr(m) if err := repository.EventRepository.Create(data); err != nil { log.Logger.Errorw("事件创建失败", "err", err) } diff --git a/internal/app/logic/process_base.go b/internal/app/logic/process_base.go index f0d8b4a..59c6790 100644 --- a/internal/app/logic/process_base.go +++ b/internal/app/logic/process_base.go @@ -158,12 +158,14 @@ func (p *ProcessBase) SetState(state eum.ProcessState, fn ...func() bool) bool { func (p *ProcessBase) createEvent(state eum.ProcessState) { var eventType eum.EventType switch state { - case eum.ProcessStateStart: + case eum.ProcessStateRunning: eventType = eum.EventProcessStart case eum.ProcessStateStop: eventType = eum.EventProcessStop case eum.ProcessStateWarnning: eventType = eum.EventProcessWarning + default: + return } EventLogic.Create(p.Name, eventType) } diff --git a/internal/app/logic/task.go b/internal/app/logic/task.go index d83a63f..c8d1e29 100644 --- a/internal/app/logic/task.go +++ b/internal/app/logic/task.go @@ -39,7 +39,8 @@ func (t *TaskJob) Run(ctx context.Context) { if ctx.Value(eum.CtxTaskTraceId{}) == nil { 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 middle.TaskWaitCond.Trigger() defer func() { @@ -71,7 +72,7 @@ func (t *TaskJob) Run(ctx context.Context) { // 执行操作 log.Logger.Infow("任务开始执行") if !OperationHandle[t.TaskConfig.Operation](t.TaskConfig, proc) { - log.Logger.Errorw("任务执行失败") + log.Logger.Warnw("任务执行失败") return } log.Logger.Infow("任务执行成功", "target", t.TaskConfig.OperationTarget) @@ -96,7 +97,6 @@ func (t *TaskJob) Run(ctx context.Context) { } else { log.Logger.Infow("任务流结束") } - EventLogic.Create(t.TaskConfig.Name, eum.EventProcessStop, "traceId", ctx.Value(eum.CtxTaskTraceId{})) } func (t *TaskJob) InitCronHandle() error {