mirror of
https://github.com/processone/ejabberd
synced 2025-10-05 10:39:29 +02:00
Integrate join/leave cluster as ejabberd command
This commit is contained in:
parent
a497cdff5e
commit
67a70b9107
6 changed files with 82 additions and 276 deletions
|
@ -33,6 +33,8 @@
|
|||
stop_kindly/2, send_service_message_all_mucs/2,
|
||||
registered_vhosts/0,
|
||||
reload_config/0,
|
||||
%% Cluster
|
||||
join_cluster/1, leave_cluster/1, list_cluster/0,
|
||||
%% Erlang
|
||||
update_list/0, update/1,
|
||||
%% Accounts
|
||||
|
@ -146,6 +148,22 @@ commands() ->
|
|||
args = [],
|
||||
result = {res, rescode}},
|
||||
|
||||
#ejabberd_commands{name = join_cluster, tags = [cluster],
|
||||
desc = "Join this node into the cluster handled by Node",
|
||||
module = ?MODULE, function = join_cluster,
|
||||
args = [{node, binary}],
|
||||
result = {res, rescode}},
|
||||
#ejabberd_commands{name = leave_cluster, tags = [cluster],
|
||||
desc = "Remove node handled by Node from the cluster",
|
||||
module = ?MODULE, function = leave_cluster,
|
||||
args = [{node, binary}],
|
||||
result = {res, rescode}},
|
||||
#ejabberd_commands{name = list_cluster, tags = [cluster],
|
||||
desc = "List nodes that are part of the cluster handled by Node",
|
||||
module = ?MODULE, function = list_cluster,
|
||||
args = [],
|
||||
result = {nodes, {list, {node, atom}}}},
|
||||
|
||||
#ejabberd_commands{name = import_file, tags = [mnesia],
|
||||
desc = "Import user data from jabberd14 spool file",
|
||||
module = ?MODULE, function = import_file,
|
||||
|
@ -373,6 +391,19 @@ reload_config() ->
|
|||
acl:start(),
|
||||
shaper:start().
|
||||
|
||||
%%%
|
||||
%%% Cluster management
|
||||
%%%
|
||||
|
||||
join_cluster(NodeBin) ->
|
||||
ejabberd_cluster:join(list_to_atom(binary_to_list(NodeBin))).
|
||||
|
||||
leave_cluster(NodeBin) ->
|
||||
ejabberd_cluster:leave(list_to_atom(binary_to_list(NodeBin))).
|
||||
|
||||
list_cluster() ->
|
||||
ejabberd_cluster:get_nodes().
|
||||
|
||||
%%%
|
||||
%%% Migration management
|
||||
%%%
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue