diff options
author | Hubert Plociniczak <hubert@lshift.net> | 2008-09-10 10:53:55 +0100 |
---|---|---|
committer | Hubert Plociniczak <hubert@lshift.net> | 2008-09-10 10:53:55 +0100 |
commit | c3a66f9ea0d91556fa10af3c2cd34de97eedb53d (patch) | |
tree | 4329cf3cc9d6ea992151040efd81801b0eb270c8 | |
parent | 4d4a9a044f7bb013efed85b070ec755f8a854fd1 (diff) | |
download | rabbitmq-server-c3a66f9ea0d91556fa10af3c2cd34de97eedb53d.tar.gz |
Use lists:foreach instead of tail recursion
in rotate_logs command. Updated usage function()
Reverted change in rabbitmq-server.spec that
didn't belong to this bug.
-rw-r--r-- | packaging/RPMS/Fedora/rabbitmq-server.spec | 2 | ||||
-rw-r--r-- | src/rabbit_multi.erl | 31 |
2 files changed, 16 insertions, 17 deletions
diff --git a/packaging/RPMS/Fedora/rabbitmq-server.spec b/packaging/RPMS/Fedora/rabbitmq-server.spec index 4e39012c..765ccf9b 100644 --- a/packaging/RPMS/Fedora/rabbitmq-server.spec +++ b/packaging/RPMS/Fedora/rabbitmq-server.spec @@ -83,7 +83,7 @@ chown -R rabbitmq:rabbitmq /var/log/rabbitmq %preun if [ $1 = 0 ]; then #Complete uninstall - /sbin/service rabbitmq-server stop > /dev/null 2>&1 + /sbin/service rabbitmq-server stop /sbin/chkconfig --del rabbitmq-server # We do not remove /var/log and /var/lib directories diff --git a/src/rabbit_multi.erl b/src/rabbit_multi.erl index 8a6bfbe0..bf1d2d99 100644 --- a/src/rabbit_multi.erl +++ b/src/rabbit_multi.erl @@ -69,9 +69,9 @@ usage() -> Available commands: - start_all <NodeCount> - start a local cluster of RabbitMQ nodes. - stop_all - stops all local RabbitMQ nodes. - rotate_logs_all [Suffix] - rotate logs for all local RabbitMQ nodes. + start_all <NodeCount> - start a local cluster of RabbitMQ nodes. + stop_all - stops all local RabbitMQ nodes. + rotate_logs [Suffix] - rotate logs for all local and running RabbitMQ nodes. "), halt(3). @@ -99,10 +99,18 @@ action(rotate_logs, [], RpcTimeout) -> action(rotate_logs, [Suffix], RpcTimeout) -> io:format("Rotating logs for all nodes...~n", []), - call_all_nodes(fun(NodePids) -> - rotate_logs(NodePids, - list_to_binary(Suffix), - RpcTimeout) end). + BinarySuffix = list_to_binary(Suffix), + call_all_nodes( + fun(NodePids) -> + lists:foreach(fun ({Node, _}) -> + io:format("Rotating logs for node ~p", [Node]), + case rpc:call(Node, rabbit, rotate_logs, + [BinarySuffix], RpcTimeout) of + {badrpc, Error} -> io:format(": ~p.~n", [Error]); + ok -> io:format(": ok.~n", []) + end + end, NodePids) + end). %% PNodePid is the list of PIDs %% Running is a boolean exhibiting success at some moment @@ -281,15 +289,6 @@ is_dead(Pid) -> end end}]). -rotate_logs([], _, _) -> ok; -rotate_logs([{Node, _} | Rest], BinarySuffix, RpcTimeout) -> - io:format("Rotating logs for node ~p", [Node]), - case rpc:call(Node, rabbit, rotate_logs, [BinarySuffix], RpcTimeout) of - {badrpc, Error} -> io:format(": ~p.~n", [Error]); - ok -> io:format(": ok.~n", []) - end, - rotate_logs(Rest, BinarySuffix, RpcTimeout). - call_all_nodes(Func) -> case read_pids_file() of [] -> throw(no_nodes_running); |