wip: send and mark as complete

This commit is contained in:
Marcus Efraimsson
2018-09-28 11:14:36 +02:00
parent 1a75aa54de
commit 88bbc452a7
2 changed files with 21 additions and 9 deletions

View File

@@ -100,8 +100,9 @@ type SetAlertNotificationStateToPendingCommand struct {
} }
type SetAlertNotificationStateToCompleteCommand struct { type SetAlertNotificationStateToCompleteCommand struct {
Id int64 Id int64
SentAt int64 Version int64
SentAt int64
} }
type GetNotificationStateQuery struct { type GetNotificationStateQuery struct {

View File

@@ -3,6 +3,7 @@ package alerting
import ( import (
"errors" "errors"
"fmt" "fmt"
"time"
"github.com/grafana/grafana/pkg/bus" "github.com/grafana/grafana/pkg/bus"
"github.com/grafana/grafana/pkg/components/imguploader" "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) return n.sendNotifications(context, notifierStates)
} }
func (n *notificationService) sendAndMarkAsComplete(evalContext *EvalContext, notifierState *NotifierState) error { 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 return nil
} }