Merge pull request #7572 from DDDHuang/usort_plugins

fix: usort plugins name
This commit is contained in:
DDDHuang 2022-04-11 20:00:52 +08:00 committed by GitHub
commit 6b62e52a96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 52 additions and 23 deletions

View File

@ -26,7 +26,8 @@
{load_module, emqx_mqueue,brutal_purge,soft_purge,[]},
{load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]},
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_misc,brutal_purge,soft_purge,[]}
{load_module, emqx_misc,brutal_purge,soft_purge,[]},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{"4.2.1", [
{add_module, emqx_congestion},
@ -51,7 +52,8 @@
{load_module, emqx_mqueue,brutal_purge,soft_purge,[]},
{load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]},
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_misc,brutal_purge,soft_purge,[]}
{load_module, emqx_misc,brutal_purge,soft_purge,[]},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<"4.2.[23]">>, [
{add_module, emqx_congestion},
@ -74,7 +76,8 @@
{load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]},
{load_module, emqx_misc,brutal_purge,soft_purge,[]},
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_limiter, brutal_purge, soft_purge, []}
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<"4.2.4">>, [
{load_module, emqx_frame, brutal_purge, soft_purge, []},
@ -96,7 +99,8 @@
{load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]},
{load_module, emqx_misc,brutal_purge,soft_purge,[]},
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_limiter, brutal_purge, soft_purge, []}
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<"4.2.5">>, [
{load_module, emqx_frame, brutal_purge, soft_purge, []},
@ -118,7 +122,8 @@
{load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]},
{load_module, emqx_misc,brutal_purge,soft_purge,[]},
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_limiter, brutal_purge, soft_purge, []}
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<"4.2.[6-7]">>, [
{load_module, emqx_frame, brutal_purge, soft_purge, []},
@ -134,7 +139,8 @@
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
{load_module, emqx_os_mon, brutal_purge, soft_purge, []},
{load_module, emqx_limiter, brutal_purge, soft_purge, []}
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<"4.2.8">>, [
{load_module, emqx_frame, brutal_purge, soft_purge, []},
@ -145,7 +151,8 @@
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
{load_module, emqx_os_mon, brutal_purge, soft_purge, []}
{load_module, emqx_os_mon, brutal_purge, soft_purge, []},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<"4.2.9">>, [
{load_module, emqx_frame, brutal_purge, soft_purge, []},
@ -155,14 +162,16 @@
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
{load_module, emqx_os_mon, brutal_purge, soft_purge, []}
{load_module, emqx_os_mon, brutal_purge, soft_purge, []},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<"4.2.10">>, [
{load_module, emqx_channel, brutal_purge, soft_purge, []},
{load_module, emqx_frame, brutal_purge, soft_purge, []},
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_os_mon, brutal_purge, soft_purge, []},
{load_module, emqx_alarm, brutal_purge, soft_purge, []}
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<".*">>, []}
],
@ -191,7 +200,8 @@
{load_module, emqx_mqueue,brutal_purge,soft_purge,[]},
{load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]},
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_misc,brutal_purge,soft_purge,[]}
{load_module, emqx_misc,brutal_purge,soft_purge,[]},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{"4.2.1", [
{load_module, emqx_shared_sub, brutal_purge, soft_purge, []},
@ -216,7 +226,8 @@
{load_module, emqx_mqueue,brutal_purge,soft_purge,[]},
{load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]},
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_misc,brutal_purge,soft_purge,[]}
{load_module, emqx_misc,brutal_purge,soft_purge,[]},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<"4.2.[23]">>, [
{load_module, emqx_shared_sub, brutal_purge, soft_purge, []},
@ -239,7 +250,8 @@
{load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]},
{load_module, emqx_misc,brutal_purge,soft_purge,[]},
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_limiter, brutal_purge, soft_purge, []}
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<"4.2.4">>, [
{load_module, emqx_frame, brutal_purge, soft_purge, []},
@ -261,7 +273,8 @@
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_os_mon, brutal_purge, soft_purge, []},
{load_module, emqx_misc,brutal_purge,soft_purge,[]},
{load_module, emqx_limiter, brutal_purge, soft_purge, []}
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<"4.2.5">>, [
{load_module, emqx_frame, brutal_purge, soft_purge, []},
@ -283,7 +296,8 @@
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_os_mon, brutal_purge, soft_purge, []},
{load_module, emqx_misc,brutal_purge,soft_purge,[]},
{load_module, emqx_limiter, brutal_purge, soft_purge, []}
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<"4.2.[6-7]">>, [
{load_module, emqx_frame, brutal_purge, soft_purge, []},
@ -299,7 +313,8 @@
{load_module, emqx_os_mon, brutal_purge, soft_purge, []},
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
{load_module, emqx_misc,brutal_purge,soft_purge,[]},
{load_module, emqx_limiter, brutal_purge, soft_purge, []}
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<"4.2.8">>, [
{load_module, emqx_frame, brutal_purge, soft_purge, []},
@ -310,7 +325,8 @@
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_os_mon, brutal_purge, soft_purge, []},
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
{load_module, emqx_limiter, brutal_purge, soft_purge, []}
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<"4.2.9">>, [
{load_module, emqx_frame, brutal_purge, soft_purge, []},
@ -320,14 +336,16 @@
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_os_mon, brutal_purge, soft_purge, []},
{load_module, emqx_alarm, brutal_purge, soft_purge, []}
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<"4.2.10">>, [
{load_module, emqx_channel, brutal_purge, soft_purge, []},
{load_module, emqx_frame, brutal_purge, soft_purge, []},
{load_module, emqx_app, brutal_purge, soft_purge, []},
{load_module, emqx_os_mon, brutal_purge, soft_purge, []},
{load_module, emqx_alarm, brutal_purge, soft_purge, []}
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
]},
{<<".*">>, []}
]

View File

@ -103,7 +103,7 @@ unload(PluginName) when is_atom(PluginName) ->
?LOG(error, "Plugin ~s is not started", [PluginName]),
{error, not_started};
{_, _} ->
unload_plugin(PluginName, true)
unload_plugin(PluginName, true)
end.
reload(PluginName) when is_atom(PluginName)->
@ -204,10 +204,21 @@ with_loaded_file(File, SuccFun) ->
end.
filter_plugins(Names) ->
lists:filtermap(fun(Name1) when is_atom(Name1) -> {true, Name1};
({Name1, true}) -> {true, Name1};
({_Name1, false}) -> false
end, Names).
filter_plugins(Names, []).
filter_plugins([], Plugins) ->
lists:reverse(Plugins);
filter_plugins([{Name, Load} | Names], Plugins) ->
case {Load, lists:member(Name, Plugins)} of
{true, false} ->
filter_plugins(Names, [Name | Plugins]);
{false, true} ->
filter_plugins(Names, Plugins -- [Name]);
_ ->
filter_plugins(Names, Plugins)
end;
filter_plugins([Name | Names], Plugins) when is_atom(Name) ->
filter_plugins([{Name, true} | Names], Plugins).
load_plugins(Names, Persistent) ->
Plugins = list(), NotFound = Names -- names(Plugins),