diff options
| author | Daniil Fedotov <dfedotov@pivotal.io> | 2017-03-23 10:41:58 +0000 |
|---|---|---|
| committer | Daniil Fedotov <dfedotov@pivotal.io> | 2017-04-12 12:13:43 +0100 |
| commit | baef781654b93034ed48062a342abd4783d1f9c8 (patch) | |
| tree | bad335bebb421c1b0646d952f5d79633ce0afc79 /src | |
| parent | 5c0cf89749571b36754a39b5bc9fea94c5463f37 (diff) | |
| download | rabbitmq-server-git-baef781654b93034ed48062a342abd4783d1f9c8.tar.gz | |
Configurable vhost restart strategy
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_vhost_sup_sup.erl | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/rabbit_vhost_sup_sup.erl b/src/rabbit_vhost_sup_sup.erl index 919d7ca7fd..0b6f6e3eb1 100644 --- a/src/rabbit_vhost_sup_sup.erl +++ b/src/rabbit_vhost_sup_sup.erl @@ -33,16 +33,23 @@ -record(vhost_sup, {vhost, vhost_sup_pid, wrapper_pid}). start() -> - rabbit_sup:start_supervisor_child(?MODULE). + supervisor:start_child(rabbit_sup, + {?MODULE, {?MODULE, start_link, []}, + permanent, infinity, supervisor, [?MODULE]}). start_link() -> supervisor2:start_link({local, ?MODULE}, ?MODULE, []). init([]) -> + VhostRestart = case application:get_env(rabbit, vhost_restart_strategy, stop_rabbit) of + give_up -> transient; + stop_rabbit -> permanent + end, + ets:new(?MODULE, [named_table, public, {keypos, #vhost_sup.vhost}]), {ok, {{simple_one_for_one, 0, 5}, [{rabbit_vhost, {rabbit_vhost_sup_wrapper, start_link, []}, - permanent, infinity, supervisor, + VhostRestart, infinity, supervisor, [rabbit_vhost_sup_wrapper, rabbit_vhost_sup]}]}}. start_on_all_nodes(VHost) -> |
