chore: start emqx_retainer_worker_pool when relup
This commit is contained in:
parent
0eee57e4f7
commit
0b2660f64d
|
@ -1,43 +1,25 @@
|
||||||
%% -*- mode: erlang -*-
|
%% -*- mode: erlang -*-
|
||||||
%% Unless you know what you are doing, DO NOT edit manually!!
|
%% Unless you know what you are doing, DO NOT edit manually!!
|
||||||
{VSN,
|
{VSN,
|
||||||
[{"4.4.5",
|
[{<<"4\\.4\\.[1-5]">>,
|
||||||
[{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]},
|
[{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_retainer,brutal_purge,soft_purge,[]}]},
|
{apply,{emqx_retainer_sup,ensure_worker_pool_started,[]}},
|
||||||
{"4.4.4",
|
{load_module,emqx_retainer,brutal_purge,soft_purge,[]}
|
||||||
[{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]},
|
]},
|
||||||
{load_module,emqx_retainer,brutal_purge,soft_purge,[]}]},
|
|
||||||
{"4.4.3",
|
|
||||||
[{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]},
|
|
||||||
{load_module,emqx_retainer,brutal_purge,soft_purge,[]}]},
|
|
||||||
{"4.4.2",
|
|
||||||
[{load_module,emqx_retainer,brutal_purge,soft_purge,[]},
|
|
||||||
{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]}]},
|
|
||||||
{"4.4.1",
|
|
||||||
[{load_module,emqx_retainer,brutal_purge,soft_purge,[]},
|
|
||||||
{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]}]},
|
|
||||||
{"4.4.0",
|
{"4.4.0",
|
||||||
[{load_module,emqx_retainer,brutal_purge,soft_purge,[]},
|
[{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_retainer_cli,brutal_purge,soft_purge,[]},
|
{apply,{emqx_retainer_sup,ensure_worker_pool_started,[]}},
|
||||||
{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]}]},
|
{load_module,emqx_retainer,brutal_purge,soft_purge,[]},
|
||||||
|
{load_module,emqx_retainer_cli,brutal_purge,soft_purge,[]}
|
||||||
|
]},
|
||||||
{<<".*">>,[]}],
|
{<<".*">>,[]}],
|
||||||
[{"4.4.5",
|
[{<<"4\\.4\\.[1-5]">>,
|
||||||
[{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]},
|
[{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_retainer,brutal_purge,soft_purge,[]}]},
|
{load_module,emqx_retainer,brutal_purge,soft_purge,[]}
|
||||||
{"4.4.4",
|
]},
|
||||||
[{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]},
|
|
||||||
{load_module,emqx_retainer,brutal_purge,soft_purge,[]}]},
|
|
||||||
{"4.4.3",
|
|
||||||
[{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]},
|
|
||||||
{load_module,emqx_retainer,brutal_purge,soft_purge,[]}]},
|
|
||||||
{"4.4.2",
|
|
||||||
[{load_module,emqx_retainer,brutal_purge,soft_purge,[]},
|
|
||||||
{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]}]},
|
|
||||||
{"4.4.1",
|
|
||||||
[{load_module,emqx_retainer,brutal_purge,soft_purge,[]},
|
|
||||||
{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]}]},
|
|
||||||
{"4.4.0",
|
{"4.4.0",
|
||||||
[{load_module,emqx_retainer,brutal_purge,soft_purge,[]},
|
[{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_retainer_cli,brutal_purge,soft_purge,[]},
|
{load_module,emqx_retainer,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]}]},
|
{load_module,emqx_retainer_cli,brutal_purge,soft_purge,[]}
|
||||||
|
]},
|
||||||
{<<".*">>,[]}]}.
|
{<<".*">>,[]}]}.
|
||||||
|
|
|
@ -20,12 +20,23 @@
|
||||||
|
|
||||||
-include("emqx_retainer.hrl").
|
-include("emqx_retainer.hrl").
|
||||||
|
|
||||||
-export([start_link/1]).
|
-export([ start_link/1
|
||||||
|
, ensure_worker_pool_started/0
|
||||||
|
, worker_pool_spec/0
|
||||||
|
]).
|
||||||
|
|
||||||
-export([init/1]).
|
-export([init/1]).
|
||||||
|
|
||||||
start_link(Env) ->
|
start_link(Env) ->
|
||||||
supervisor:start_link({local, ?MODULE}, ?MODULE, [Env]).
|
supervisor:start_link({local, ?MODULE}, ?MODULE, [Env]).
|
||||||
|
|
||||||
|
ensure_worker_pool_started() ->
|
||||||
|
try
|
||||||
|
supervisor:start_child(?MODULE, worker_pool_spec())
|
||||||
|
catch
|
||||||
|
_:_ -> ignore
|
||||||
|
end.
|
||||||
|
|
||||||
init([Env]) ->
|
init([Env]) ->
|
||||||
Retainer = #{
|
Retainer = #{
|
||||||
id => retainer,
|
id => retainer,
|
||||||
|
@ -35,19 +46,22 @@ init([Env]) ->
|
||||||
type => worker,
|
type => worker,
|
||||||
modules => [emqx_retainer]
|
modules => [emqx_retainer]
|
||||||
},
|
},
|
||||||
WorkerPool = #{
|
WorkerPool = worker_pool_spec(),
|
||||||
|
ChildSpecs = case is_managed_by_modules() of
|
||||||
|
false -> [Retainer, WorkerPool];
|
||||||
|
true -> []
|
||||||
|
end,
|
||||||
|
{ok, {{one_for_one, 10, 3600}, ChildSpecs}}.
|
||||||
|
|
||||||
|
worker_pool_spec() ->
|
||||||
|
#{
|
||||||
id => ?POOL,
|
id => ?POOL,
|
||||||
start => {emqx_pool_sup, start_link, [?POOL, random, {emqx_pool, start_link, []}]},
|
start => {emqx_pool_sup, start_link, [?POOL, random, {emqx_pool, start_link, []}]},
|
||||||
restart => permanent,
|
restart => permanent,
|
||||||
shutdown => 5000,
|
shutdown => 5000,
|
||||||
type => supervisor,
|
type => supervisor,
|
||||||
modules => [emqx_pool_sup]
|
modules => [emqx_pool_sup]
|
||||||
},
|
}.
|
||||||
ChildSpecs = case is_managed_by_modules() of
|
|
||||||
false -> [Retainer, WorkerPool];
|
|
||||||
true -> [WorkerPool]
|
|
||||||
end,
|
|
||||||
{ok, {{one_for_one, 10, 3600}, ChildSpecs}}.
|
|
||||||
|
|
||||||
-ifdef(EMQX_ENTERPRISE).
|
-ifdef(EMQX_ENTERPRISE).
|
||||||
|
|
||||||
|
@ -69,3 +83,4 @@ is_managed_by_modules() ->
|
||||||
false.
|
false.
|
||||||
|
|
||||||
-endif.
|
-endif.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue