chore: ensure the module is loaded

This commit is contained in:
zhongwencool 2024-07-02 21:37:48 +08:00
parent 7c02e1979e
commit 0dfa3e8c86
4 changed files with 8 additions and 4 deletions

View File

@ -203,7 +203,7 @@ update_config(KeyPath, UpdateReq) ->
-spec update_config(
emqx_utils_maps:config_key_path(),
emqx_config:update_request(),
emqx_config:cluster_rpc_opts()
emqx_config:update_opts()
) ->
{ok, emqx_config:update_result()} | {error, emqx_config:update_error()}.
update_config(KeyPath, UpdateReq, Opts) ->

View File

@ -852,7 +852,9 @@ assert_callback_function(Mod) ->
_ = apply(Mod, module_info, []),
case
erlang:function_exported(Mod, pre_config_update, 3) orelse
erlang:function_exported(Mod, post_config_update, 5)
erlang:function_exported(Mod, post_config_update, 5) orelse
erlang:function_exported(Mod, pre_config_update, 4) orelse
erlang:function_exported(Mod, post_config_update, 6)
of
true -> ok;
false -> error(#{msg => "bad_emqx_config_handler_callback", module => Mod})
@ -899,6 +901,8 @@ save_handlers(Handlers) ->
get_function_arity(_Module, _Callback, []) ->
false;
get_function_arity(Module, Callback, [Arity | Opts]) ->
%% ensure module is loaded
Module = Module:module_info(module),
case erlang:function_exported(Module, Callback, Arity) of
true -> Arity;
false -> get_function_arity(Module, Callback, Opts)

View File

@ -338,7 +338,7 @@ remove_local(ResId) ->
ok
end.
%% Tip: Don't delete reset_metrics_local/1, use before v571 rpc
%% Tip: Don't delete reset_metrics_local/1, use before v572 rpc
-spec reset_metrics_local(resource_id()) -> ok.
reset_metrics_local(ResId) ->
reset_metrics_local(ResId, #{}).

View File

@ -303,7 +303,7 @@ maybe_add_metrics_for_rule(Id) ->
clear_metrics_for_rule(Id) ->
ok = emqx_metrics_worker:clear_metrics(rule_metrics, Id).
%% Tip: Don't delete reset_metrics_for_rule/1, use before v571 rpc
%% Tip: Don't delete reset_metrics_for_rule/1, use before v572 rpc
-spec reset_metrics_for_rule(rule_id()) -> ok.
reset_metrics_for_rule(Id) ->
reset_metrics_for_rule(Id, #{}).