|
|
|
@ -3,6 +3,7 @@ package alerting |
|
|
|
|
import ( |
|
|
|
|
"errors" |
|
|
|
|
"fmt" |
|
|
|
|
"time" |
|
|
|
|
|
|
|
|
|
"github.com/grafana/grafana/pkg/bus" |
|
|
|
|
"github.com/grafana/grafana/pkg/components/imguploader" |
|
|
|
@ -53,17 +54,27 @@ func (n *notificationService) SendIfNeeded(context *EvalContext) error { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// get alert notification (version = 1)
|
|
|
|
|
// phantomjs 15 sek
|
|
|
|
|
// loopa notifier - ge mig ett lås! where version = 1
|
|
|
|
|
// send notification
|
|
|
|
|
// Släpp lås
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
return n.sendNotifications(context, notifierStates) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (n *notificationService) sendAndMarkAsComplete(evalContext *EvalContext, notifierState *NotifierState) error { |
|
|
|
|
err := notifierState.notifier.Notify(evalContext) |
|
|
|
|
|
|
|
|
|
cmd := &m.SetAlertNotificationStateToCompleteCommand{ |
|
|
|
|
Id: notifierState.state.Id, |
|
|
|
|
Version: notifierState.state.Version, |
|
|
|
|
SentAt: time.Now().Unix(), |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
err = bus.DispatchCtx(evalContext.Ctx, cmd) |
|
|
|
|
if err == m.ErrAlertNotificationStateVersionConflict { |
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|