MCPcopy Create free account
hub / github.com/TalkingData/owl / processSingleEvent

Function processSingleEvent

controller/notify.go:73–91  ·  view source on GitHub ↗
(event *QueueEvent)

Source from the content-addressed store, hash-verified

71}
72
73func processSingleEvent(event *QueueEvent) {
74 switch event.status {
75 case NEW_ALARM:
76 lastID, _ := mydb.CreateStrategyEvent(event.strategy_event, event.trigger_events)
77 event.strategy_event.ID = lastID
78 go doAlarmAction(event.strategy_event, event.trigger_events)
79 case OLD_ALARM:
80 mydb.UpdateStrategyEvent(event.strategy_event, event.trigger_events)
81 go doAlarmAction(event.strategy_event, event.trigger_events)
82 case RESTORE_ALARM:
83 mydb.UpdateStrategyEvent(event.strategy_event, event.trigger_events)
84 mydb.CreateStrategyEventProcess(event.strategy_event.ID, event.strategy_event.Status, "系统", "报警恢复", time.Now().Format("2006-01-02 15:04:05"))
85 go doRestoreAction(event.strategy_event, event.trigger_events)
86 event.strategy_event.Count++
87 default:
88 lg.Error(fmt.Sprintf("unknow event type %d from event queue.", event.status))
89 }
90 mydb.CreateStrategyEventRecord(event.strategy_event, event.trigger_events)
91}
92
93//发送报警
94func doAlarmAction(strategy_event *types.StrategyEvent, trigger_events map[string]*types.TriggerEvent) {

Callers 1

processSingleQueueFunction · 0.85

Calls 6

doAlarmActionFunction · 0.85
doRestoreActionFunction · 0.85
CreateStrategyEventMethod · 0.80
UpdateStrategyEventMethod · 0.80

Tested by

no test coverage detected