fix(rule_engine): only refresh enabled rules at bootup

This commit is contained in:
Shawn 2021-04-27 10:52:52 +08:00 committed by turtleDeng
parent 7198c018e2
commit 6557b132a2
1 changed files with 7 additions and 5 deletions

View File

@ -388,11 +388,13 @@ refresh_resource(#resource{id = ResId}) ->
-spec(refresh_rules() -> ok).
refresh_rules() ->
lists:foreach(fun(#rule{} = Rule) ->
try refresh_rule(Rule)
catch _:_ ->
emqx_rule_registry:add_rule(Rule#rule{enabled = false, state = refresh_failed_at_bootup})
end
lists:foreach(fun
(#rule{enabled = true} = Rule) ->
try refresh_rule(Rule)
catch _:_ ->
emqx_rule_registry:add_rule(Rule#rule{enabled = false, state = refresh_failed_at_bootup})
end;
(_) -> ok
end, emqx_rule_registry:get_rules()).
refresh_rule(#rule{id = RuleId, for = Topics, actions = Actions}) ->