summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Klishin <michael@clojurewerkz.org>2016-06-08 02:54:24 +0300
committerMichael Klishin <michael@clojurewerkz.org>2016-06-08 02:54:24 +0300
commitd59ac4c4700e370a8bb27864fdcd15cc5dcece19 (patch)
treeb90fbea77ea8f9f0e275b5877bceb655e332d38b /src
parent734be9304f1855ee2042d3924c62991ea33eb3d3 (diff)
downloadrabbitmq-server-git-d59ac4c4700e370a8bb27864fdcd15cc5dcece19.tar.gz
Extract rabbit_mirror_queue_misc:sync_queue/1 and cancel_sync_queue/1
Having these functions outside of rabbit_control_main makes it possible to use them in other tools, e.g. an alternative CLI implementation.
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_control_main.erl8
-rw-r--r--src/rabbit_mirror_queue_misc.erl12
2 files changed, 14 insertions, 6 deletions
diff --git a/src/rabbit_control_main.erl b/src/rabbit_control_main.erl
index 2df4fd96c0..271ca4484e 100644
--- a/src/rabbit_control_main.erl
+++ b/src/rabbit_control_main.erl
@@ -675,14 +675,10 @@ action(list_consumers, Node, _Args, Opts, Inform, Timeout) ->
format_parse_error({_Line, Mod, Err}) -> lists:flatten(Mod:format_error(Err)).
sync_queue(Q) ->
- rabbit_amqqueue:with(
- Q, fun(#amqqueue{pid = QPid}) -> rabbit_amqqueue:sync_mirrors(QPid) end).
+ rabbit_mirror_queue_misc:sync_queue(Q).
cancel_sync_queue(Q) ->
- rabbit_amqqueue:with(
- Q, fun(#amqqueue{pid = QPid}) ->
- rabbit_amqqueue:cancel_sync_mirrors(QPid)
- end).
+ rabbit_mirror_queue_misc:cancel_sync_queue(Q).
purge_queue(Q) ->
rabbit_amqqueue:with(
diff --git a/src/rabbit_mirror_queue_misc.erl b/src/rabbit_mirror_queue_misc.erl
index 849efa3611..fad20711aa 100644
--- a/src/rabbit_mirror_queue_misc.erl
+++ b/src/rabbit_mirror_queue_misc.erl
@@ -24,6 +24,8 @@
maybe_auto_sync/1, maybe_drop_master_after_sync/1,
sync_batch_size/1, log_info/3, log_warning/3]).
+-export([sync_queue/1, cancel_sync_queue/1]).
+
%% for testing only
-export([module/1]).
@@ -364,6 +366,16 @@ maybe_auto_sync(Q = #amqqueue{pid = QPid}) ->
ok
end.
+sync_queue(Q) ->
+ rabbit_amqqueue:with(
+ Q, fun(#amqqueue{pid = QPid}) -> rabbit_amqqueue:sync_mirrors(QPid) end).
+
+cancel_sync_queue(Q) ->
+ rabbit_amqqueue:with(
+ Q, fun(#amqqueue{pid = QPid}) ->
+ rabbit_amqqueue:cancel_sync_mirrors(QPid)
+ end).
+
sync_batch_size(#amqqueue{} = Q) ->
case policy(<<"ha-sync-batch-size">>, Q) of
none -> %% we need this case because none > 1 == true