mirror of
https://github.com/lzh-1625/go_process_manager.git
synced 2025-10-05 16:06:51 +08:00
event create bug fix
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
@@ -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)
|
||||
}
|
||||
|
@@ -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 {
|
||||
|
Reference in New Issue
Block a user