fix: try-catch optional `on_config_changed/2` plugin app callback
This commit is contained in:
parent
3d1f0c756c
commit
e6bfc14cc9
|
@ -380,7 +380,18 @@ maybe_call_on_config_changed(NameVsn, NewConf) ->
|
||||||
{ok, PluginAppModule} ?= app_module_name(NameVsn),
|
{ok, PluginAppModule} ?= app_module_name(NameVsn),
|
||||||
true ?= erlang:function_exported(PluginAppModule, FuncName, 2),
|
true ?= erlang:function_exported(PluginAppModule, FuncName, 2),
|
||||||
{ok, OldConf} = get_config(NameVsn),
|
{ok, OldConf} = get_config(NameVsn),
|
||||||
_ = erlang:apply(PluginAppModule, FuncName, [OldConf, NewConf])
|
try erlang:apply(PluginAppModule, FuncName, [OldConf, NewConf]) of
|
||||||
|
_ -> ok
|
||||||
|
catch
|
||||||
|
Class:CatchReason:Stacktrace ->
|
||||||
|
?SLOG(error, #{
|
||||||
|
msg => "failed_to_call_on_config_changed",
|
||||||
|
exception => Class,
|
||||||
|
reason => CatchReason,
|
||||||
|
stacktrace => Stacktrace
|
||||||
|
}),
|
||||||
|
ok
|
||||||
|
end
|
||||||
else
|
else
|
||||||
{error, Reason} ->
|
{error, Reason} ->
|
||||||
?SLOG(info, #{msg => "failed_to_call_on_config_changed", reason => Reason});
|
?SLOG(info, #{msg => "failed_to_call_on_config_changed", reason => Reason});
|
||||||
|
|
Loading…
Reference in New Issue