chore: start emqx_retainer_worker_pool when relup
This commit is contained in:
parent
0eee57e4f7
commit
0b2660f64d
|
@ -1,43 +1,25 @@
|
|||
%% -*- mode: erlang -*-
|
||||
%% Unless you know what you are doing, DO NOT edit manually!!
|
||||
{VSN,
|
||||
[{"4.4.5",
|
||||
[{<<"4\\.4\\.[1-5]">>,
|
||||
[{load_module,emqx_retainer_sup,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,[]}]},
|
||||
{apply,{emqx_retainer_sup,ensure_worker_pool_started,[]}},
|
||||
{load_module,emqx_retainer,brutal_purge,soft_purge,[]}
|
||||
]},
|
||||
{"4.4.0",
|
||||
[{load_module,emqx_retainer,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_retainer_cli,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]}]},
|
||||
[{load_module,emqx_retainer_sup,brutal_purge,soft_purge,[]},
|
||||
{apply,{emqx_retainer_sup,ensure_worker_pool_started,[]}},
|
||||
{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,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,[]}]},
|
||||
{load_module,emqx_retainer,brutal_purge,soft_purge,[]}
|
||||
]},
|
||||
{"4.4.0",
|
||||
[{load_module,emqx_retainer,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_retainer_cli,brutal_purge,soft_purge,[]},
|
||||
{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_cli,brutal_purge,soft_purge,[]}
|
||||
]},
|
||||
{<<".*">>,[]}]}.
|
||||
|
|
|
@ -20,12 +20,23 @@
|
|||
|
||||
-include("emqx_retainer.hrl").
|
||||
|
||||
-export([start_link/1]).
|
||||
-export([ start_link/1
|
||||
, ensure_worker_pool_started/0
|
||||
, worker_pool_spec/0
|
||||
]).
|
||||
|
||||
-export([init/1]).
|
||||
|
||||
start_link(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]) ->
|
||||
Retainer = #{
|
||||
id => retainer,
|
||||
|
@ -35,19 +46,22 @@ init([Env]) ->
|
|||
type => worker,
|
||||
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,
|
||||
start => {emqx_pool_sup, start_link, [?POOL, random, {emqx_pool, start_link, []}]},
|
||||
restart => permanent,
|
||||
shutdown => 5000,
|
||||
type => supervisor,
|
||||
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).
|
||||
|
||||
|
@ -69,3 +83,4 @@ is_managed_by_modules() ->
|
|||
false.
|
||||
|
||||
-endif.
|
||||
|
||||
|
|
Loading…
Reference in New Issue