alerting.go 832 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package alerting
  2. import (
  3. "github.com/grafana/grafana/pkg/bus"
  4. "github.com/grafana/grafana/pkg/log"
  5. m "github.com/grafana/grafana/pkg/models"
  6. "github.com/grafana/grafana/pkg/setting"
  7. )
  8. var (
  9. maxRetries = 3
  10. )
  11. var engine *Engine
  12. func Init() {
  13. if !setting.AlertingEnabled {
  14. return
  15. }
  16. log.Info("Alerting: Initializing alerting engine...")
  17. engine = NewEngine()
  18. engine.Start()
  19. // scheduler := NewScheduler()
  20. // reader := NewRuleReader()
  21. //
  22. // go scheduler.dispatch(reader)
  23. // go scheduler.executor(&ExecutorImpl{})
  24. // go scheduler.handleResponses()
  25. }
  26. func saveState(response *AlertResult) {
  27. cmd := &m.UpdateAlertStateCommand{
  28. AlertId: response.Id,
  29. NewState: response.State,
  30. Info: response.Description,
  31. }
  32. if err := bus.Dispatch(cmd); err != nil {
  33. log.Error(2, "failed to save state %v", err)
  34. }
  35. }