fix(rule): destroy the actions when disabling the rule (#4232)
Merge the following PR from enterprise version: https://github.com/emqx/emqx-rule-engine/pull/231
This commit is contained in:
parent
6ad8c29833
commit
6d83bc3e9b
|
@ -468,9 +468,14 @@ may_update_rule_params(Rule, Params = #{rawsql := SQL}) ->
|
||||||
maps:remove(rawsql, Params));
|
maps:remove(rawsql, Params));
|
||||||
Reason -> throw(Reason)
|
Reason -> throw(Reason)
|
||||||
end;
|
end;
|
||||||
may_update_rule_params(Rule, Params = #{enabled := Enabled}) ->
|
may_update_rule_params(Rule = #rule{enabled = OldE, actions = Actions},
|
||||||
Enabled andalso refresh_rule(Rule),
|
Params = #{enabled := ToE}) ->
|
||||||
may_update_rule_params(Rule#rule{enabled = Enabled}, maps:remove(enabled, Params));
|
case {OldE, ToE} of
|
||||||
|
{false, true} -> refresh_rule(Rule);
|
||||||
|
{true, false} -> clear_actions(Actions);
|
||||||
|
_ -> ok
|
||||||
|
end,
|
||||||
|
may_update_rule_params(Rule#rule{enabled = ToE}, maps:remove(enabled, Params));
|
||||||
may_update_rule_params(Rule, Params = #{description := Descr}) ->
|
may_update_rule_params(Rule, Params = #{description := Descr}) ->
|
||||||
may_update_rule_params(Rule#rule{description = Descr}, maps:remove(description, Params));
|
may_update_rule_params(Rule#rule{description = Descr}, maps:remove(description, Params));
|
||||||
may_update_rule_params(Rule, Params = #{on_action_failed := OnFailed}) ->
|
may_update_rule_params(Rule, Params = #{on_action_failed := OnFailed}) ->
|
||||||
|
|
|
@ -77,6 +77,7 @@ groups() ->
|
||||||
t_add_get_remove_rules,
|
t_add_get_remove_rules,
|
||||||
t_create_existing_rule,
|
t_create_existing_rule,
|
||||||
t_update_rule,
|
t_update_rule,
|
||||||
|
t_disable_rule,
|
||||||
t_get_rules_for,
|
t_get_rules_for,
|
||||||
t_get_rules_for_2,
|
t_get_rules_for_2,
|
||||||
t_get_rules_with_same_event,
|
t_get_rules_with_same_event,
|
||||||
|
|
Loading…
Reference in New Issue