mirror of
https://github.com/lzh-1625/go_process_manager.git
synced 2025-10-05 07:56:50 +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/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)
|
||||||
}
|
}
|
||||||
|
@@ -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)
|
||||||
}
|
}
|
||||||
|
@@ -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 {
|
||||||
|
Reference in New Issue
Block a user