Commit dbe68c86 authored by 李科's avatar 李科

fix: 同步PrometheusRule

parent de87ee1b
...@@ -94,7 +94,7 @@ func (a *AlertRulesSvc) Add(req request.AddAlertRules) (err error) { ...@@ -94,7 +94,7 @@ func (a *AlertRulesSvc) Add(req request.AddAlertRules) (err error) {
} }
} }
err = a.CreatePrometheusRule(req.IsEnabled, data.Id, db) err = a.CreatePrometheusRule(req.IsEnabled, data.Id, db, "")
return nil return nil
} }
...@@ -175,11 +175,11 @@ func (a *AlertRulesSvc) Update(req request.UpdateAlertRules) (err error) { ...@@ -175,11 +175,11 @@ func (a *AlertRulesSvc) Update(req request.UpdateAlertRules) (err error) {
} }
} }
err = a.CreatePrometheusRule(req.IsEnabled, data.Id, db) err = a.CreatePrometheusRule(req.IsEnabled, data.Id, db, "update")
return nil return nil
} }
func (a *AlertRulesSvc) CreatePrometheusRule(isEnabled int, id string, db *xorm.Engine) (err error) { func (a *AlertRulesSvc) CreatePrometheusRule(isEnabled int, id string, db *xorm.Engine, operate string) (err error) {
if isEnabled == 1 { if isEnabled == 1 {
var item response.AlertRulesItem var item response.AlertRulesItem
item, err = a.GetDataById(request.DetailAlertRules{Id: id}) // 查询完整数据 item, err = a.GetDataById(request.DetailAlertRules{Id: id}) // 查询完整数据
...@@ -190,6 +190,9 @@ func (a *AlertRulesSvc) CreatePrometheusRule(isEnabled int, id string, db *xorm. ...@@ -190,6 +190,9 @@ func (a *AlertRulesSvc) CreatePrometheusRule(isEnabled int, id string, db *xorm.
_, exist, _ := prSvc.Get(item) _, exist, _ := prSvc.Get(item)
if exist { if exist {
deleteErr := prSvc.Delete(item) deleteErr := prSvc.Delete(item)
if operate == "update" {
return deleteErr
}
if deleteErr != nil { if deleteErr != nil {
_, err = db.ID(id).Delete(&entity.AlertRules{}) _, err = db.ID(id).Delete(&entity.AlertRules{})
if err != nil { if err != nil {
...@@ -201,6 +204,9 @@ func (a *AlertRulesSvc) CreatePrometheusRule(isEnabled int, id string, db *xorm. ...@@ -201,6 +204,9 @@ func (a *AlertRulesSvc) CreatePrometheusRule(isEnabled int, id string, db *xorm.
createErr := prSvc.Create(item) createErr := prSvc.Create(item)
if createErr != nil { if createErr != nil {
if operate == "update" {
return createErr
}
_, err = db.ID(id).Delete(&entity.AlertRules{}) _, err = db.ID(id).Delete(&entity.AlertRules{})
if err != nil { if err != nil {
return return
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment