mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Alerting: Schedule a shim implementation for recording rules (#87939)
* Add shim rule implementation for recording rules * Give ruleFactory access to the original rule definition * Schedule shim implementation if the rule is a recording rule * Fix or suppress linter * Fix nolint
This commit is contained in:
@@ -36,10 +36,10 @@ type Rule interface {
|
||||
Update(lastVersion RuleVersionAndPauseStatus) bool
|
||||
}
|
||||
|
||||
type ruleFactoryFunc func(context.Context) Rule
|
||||
type ruleFactoryFunc func(context.Context, *ngmodels.AlertRule) Rule
|
||||
|
||||
func (f ruleFactoryFunc) new(ctx context.Context) Rule {
|
||||
return f(ctx)
|
||||
func (f ruleFactoryFunc) new(ctx context.Context, rule *ngmodels.AlertRule) Rule {
|
||||
return f(ctx, rule)
|
||||
}
|
||||
|
||||
func newRuleFactory(
|
||||
@@ -57,7 +57,10 @@ func newRuleFactory(
|
||||
evalAppliedHook evalAppliedFunc,
|
||||
stopAppliedHook stopAppliedFunc,
|
||||
) ruleFactoryFunc {
|
||||
return func(ctx context.Context) Rule {
|
||||
return func(ctx context.Context, rule *ngmodels.AlertRule) Rule {
|
||||
if rule.IsRecordingRule() {
|
||||
return newRecordingRule(ctx, logger)
|
||||
}
|
||||
return newAlertRule(
|
||||
ctx,
|
||||
appURL,
|
||||
|
||||
Reference in New Issue
Block a user