From 467805855dfdf363904af99968edacdc024a9601 Mon Sep 17 00:00:00 2001 From: Shawn <506895667@qq.com> Date: Tue, 12 Oct 2021 13:53:30 +0800 Subject: [PATCH] fix(rules): load rules from config file failed --- apps/emqx_rule_engine/src/emqx_rule_engine.erl | 1 - apps/emqx_rule_engine/src/emqx_rule_engine_api.erl | 8 ++------ apps/emqx_rule_engine/src/emqx_rule_engine_app.erl | 4 +++- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/apps/emqx_rule_engine/src/emqx_rule_engine.erl b/apps/emqx_rule_engine/src/emqx_rule_engine.erl index 0c534b665..1038af4b7 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_engine.erl +++ b/apps/emqx_rule_engine/src/emqx_rule_engine.erl @@ -163,7 +163,6 @@ unload_hooks_for_rule(#{id := Id, from := Topics}) -> init([]) -> _TableId = ets:new(?KV_TAB, [named_table, set, public, {write_concurrency, true}, {read_concurrency, true}]), - ok = load_rules(), {ok, #{}}. handle_call({insert_rule, Rule}, _From, State) -> diff --git a/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl b/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl index 6099bea81..b88991067 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl +++ b/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl @@ -273,8 +273,6 @@ crud_rules_by_id(put, #{bindings := #{id := Id}, body := Params0}) -> Params = maps:merge(Params0, #{id => Id}), ?CHECK_PARAMS(Params, rule_creation, case emqx_rule_engine:update_rule(CheckedParams) of {ok, Rule} -> {200, format_rule_resp(Rule)}; - {error, not_found} -> - {404, #{code => 'NOT_FOUND', message => <<"Rule Id Not Found">>}}; {error, Reason} -> ?SLOG(error, #{msg => "update_rule_failed", id => Id, @@ -283,10 +281,8 @@ crud_rules_by_id(put, #{bindings := #{id := Id}, body := Params0}) -> end); crud_rules_by_id(delete, #{bindings := #{id := Id}}) -> - case emqx_rule_engine:delete_rule(Id) of - ok -> {200}; - {error, not_found} -> {200} - end. + ok = emqx_rule_engine:delete_rule(Id), + {200}. %%------------------------------------------------------------------------------ %% Internal functions diff --git a/apps/emqx_rule_engine/src/emqx_rule_engine_app.erl b/apps/emqx_rule_engine/src/emqx_rule_engine_app.erl index b9ee6f1d5..04e644d02 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_engine_app.erl +++ b/apps/emqx_rule_engine/src/emqx_rule_engine_app.erl @@ -27,7 +27,9 @@ start(_Type, _Args) -> _ = ets:new(?RULE_TAB, [named_table, public, set, {read_concurrency, true}]), ok = emqx_rule_events:reload(), - emqx_rule_engine_sup:start_link(). + SupRet = emqx_rule_engine_sup:start_link(), + ok = emqx_rule_engine:load_rules(), + SupRet. stop(_State) -> ok = emqx_rule_events:unload().