fix(rule-engine): fix rule status is not available after the emqx restart
This commit is contained in:
parent
35ae097038
commit
8fb9170df8
|
@ -1,6 +1,6 @@
|
||||||
{application, emqx_rule_engine,
|
{application, emqx_rule_engine,
|
||||||
[{description, "EMQ X Rule Engine"},
|
[{description, "EMQ X Rule Engine"},
|
||||||
{vsn, "4.3.3"}, % strict semver, bump manually!
|
{vsn, "4.3.4"}, % strict semver, bump manually!
|
||||||
{modules, []},
|
{modules, []},
|
||||||
{registered, [emqx_rule_engine_sup, emqx_rule_registry]},
|
{registered, [emqx_rule_engine_sup, emqx_rule_registry]},
|
||||||
{applications, [kernel,stdlib,rulesql,getopt]},
|
{applications, [kernel,stdlib,rulesql,getopt]},
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
%% -*-: erlang -*-
|
%% -*-: erlang -*-
|
||||||
{"4.3.3",
|
{"4.3.4",
|
||||||
[ {"4.3.0",
|
[ {"4.3.0",
|
||||||
[ {load_module, emqx_rule_funcs, brutal_purge, soft_purge, []}
|
[ {load_module, emqx_rule_funcs, brutal_purge, soft_purge, []}
|
||||||
, {load_module, emqx_rule_engine, brutal_purge, soft_purge, []}
|
, {load_module, emqx_rule_engine, brutal_purge, soft_purge, []}
|
||||||
|
@ -14,6 +14,10 @@
|
||||||
{"4.3.2",
|
{"4.3.2",
|
||||||
[ {load_module, emqx_rule_registry, brutal_purge, soft_purge, []}
|
[ {load_module, emqx_rule_registry, brutal_purge, soft_purge, []}
|
||||||
, {apply, {emqx_stats, cancel_update, [rule_registery_stats]}}
|
, {apply, {emqx_stats, cancel_update, [rule_registery_stats]}}
|
||||||
|
, {load_module, emqx_rule_engine, brutal_purge, soft_purge, []}
|
||||||
|
]},
|
||||||
|
{"4.3.3",
|
||||||
|
[ {load_module, emqx_rule_engine, brutal_purge, soft_purge, []}
|
||||||
]},
|
]},
|
||||||
{<<".*">>, []}
|
{<<".*">>, []}
|
||||||
],
|
],
|
||||||
|
@ -32,6 +36,10 @@
|
||||||
{"4.3.2",
|
{"4.3.2",
|
||||||
[ {load_module, emqx_rule_registry, brutal_purge, soft_purge, []}
|
[ {load_module, emqx_rule_registry, brutal_purge, soft_purge, []}
|
||||||
, {apply, {emqx_stats, cancel_update, [rule_registery_stats]}}
|
, {apply, {emqx_stats, cancel_update, [rule_registery_stats]}}
|
||||||
|
, {load_module, emqx_rule_engine, brutal_purge, soft_purge, []}
|
||||||
|
]},
|
||||||
|
{"4.3.3",
|
||||||
|
[ {load_module, emqx_rule_engine, brutal_purge, soft_purge, []}
|
||||||
]},
|
]},
|
||||||
{<<".*">>, []}
|
{<<".*">>, []}
|
||||||
]
|
]
|
||||||
|
|
|
@ -383,8 +383,14 @@ refresh_resource(Type) when is_atom(Type) ->
|
||||||
lists:foreach(fun refresh_resource/1,
|
lists:foreach(fun refresh_resource/1,
|
||||||
emqx_rule_registry:get_resources_by_type(Type));
|
emqx_rule_registry:get_resources_by_type(Type));
|
||||||
|
|
||||||
refresh_resource(#resource{id = ResId}) ->
|
refresh_resource(#resource{id = ResId, type = Type, config = Config}) ->
|
||||||
emqx_rule_monitor:ensure_resource_retrier(ResId, ?T_RETRY).
|
try
|
||||||
|
{ok, #resource_type{on_create = {M, F}}} =
|
||||||
|
emqx_rule_registry:find_resource_type(Type),
|
||||||
|
ok = emqx_rule_engine:init_resource(M, F, ResId, Config)
|
||||||
|
catch _:_ ->
|
||||||
|
emqx_rule_monitor:ensure_resource_retrier(ResId, ?T_RETRY)
|
||||||
|
end.
|
||||||
|
|
||||||
-spec(refresh_rules() -> ok).
|
-spec(refresh_rules() -> ok).
|
||||||
refresh_rules() ->
|
refresh_rules() ->
|
||||||
|
|
Loading…
Reference in New Issue