diff --git a/business/jxutils/eventhub/eventhub.go b/business/jxutils/eventhub/eventhub.go index c34d323c3..d2953a0a1 100644 --- a/business/jxutils/eventhub/eventhub.go +++ b/business/jxutils/eventhub/eventhub.go @@ -202,12 +202,14 @@ func (e *EventHub) unregisterConsumer(notifyChan chan *EventInfo) { } func (e *EventHub) PostNewEvent(eventCategory string, event *EventInfo) { - newEvent := *event - newEvent.Type = composeEventType(eventCategory, event.Type) - e.cmdChan <- &tCmd{ - cmdType: cmdNewEvent, - data: event, - } + utils.CallFuncAsync(func() { + newEvent := *event + newEvent.Type = composeEventType(eventCategory, event.Type) + e.cmdChan <- &tCmd{ + cmdType: cmdNewEvent, + data: event, + } + }) } func (e *EventHub) GetEvent(eventCategory string, eventTypeList []string, criteria interface{}, waitTime time.Duration) (event *EventInfo, err error) { @@ -251,6 +253,10 @@ func composeEventType(eventCategory, eventType string) string { func splitEventType(eventType string) (eventCategory, pureEventType string) { typeList := strings.Split(eventType, "/") eventCategory = typeList[0] - pureEventType = typeList[1] + if len(typeList) > 1 { + pureEventType = typeList[1] + } else { + globals.SugarLogger.Warnf("splitEventType eventType:%s", eventType) + } return eventCategory, pureEventType }