@@ -54,7 +54,7 @@ func (e *Engine) Stop() {
54
54
func (e * Engine ) alertingTicker () {
55
55
defer func () {
56
56
if err := recover (); err != nil {
57
- e .log .Error ("Scheduler Panic, stopping... " , "error" , err , "stack" , log .Stack (1 ))
57
+ e .log .Error ("Scheduler Panic: stopping alertingTicker " , "error" , err , "stack" , log .Stack (1 ))
58
58
}
59
59
}()
60
60
@@ -75,6 +75,12 @@ func (e *Engine) alertingTicker() {
75
75
}
76
76
77
77
func (e * Engine ) execDispatch () {
78
+ defer func () {
79
+ if err := recover (); err != nil {
80
+ e .log .Error ("Scheduler Panic: stopping executor" , "error" , err , "stack" , log .Stack (1 ))
81
+ }
82
+ }()
83
+
78
84
for job := range e .execQueue {
79
85
log .Trace ("Alerting: engine:execDispatch() starting job %s" , job .Rule .Name )
80
86
job .Running = true
@@ -105,6 +111,12 @@ func (e *Engine) executeJob(job *AlertJob) {
105
111
}
106
112
107
113
func (e * Engine ) resultHandler () {
114
+ defer func () {
115
+ if err := recover (); err != nil {
116
+ e .log .Error ("Engine Panic, stopping resultHandler" , "error" , err , "stack" , log .Stack (1 ))
117
+ }
118
+ }()
119
+
108
120
for result := range e .resultQueue {
109
121
e .log .Debug ("Alert Rule Result" , "ruleId" , result .AlertJob .Rule .Id , "state" , result .State , "value" , result .ActualValue , "retry" , result .AlertJob .RetryCount )
110
122
0 commit comments