Delete all the queues from RabbitMQ?
I installed rabbitmqadmin
and was able to list all the exchanges and queues. How can I use rabbitmqadmin
or rabbitmqctl
to delete all the queues.
rabbitmq rabbitmqctl
add a comment |
I installed rabbitmqadmin
and was able to list all the exchanges and queues. How can I use rabbitmqadmin
or rabbitmqctl
to delete all the queues.
rabbitmq rabbitmqctl
add a comment |
I installed rabbitmqadmin
and was able to list all the exchanges and queues. How can I use rabbitmqadmin
or rabbitmqctl
to delete all the queues.
rabbitmq rabbitmqctl
I installed rabbitmqadmin
and was able to list all the exchanges and queues. How can I use rabbitmqadmin
or rabbitmqctl
to delete all the queues.
rabbitmq rabbitmqctl
rabbitmq rabbitmqctl
edited Mar 8 '17 at 10:20
wonea
2,3021463118
2,3021463118
asked Jul 12 '12 at 19:59
CoryCory
4,544174464
4,544174464
add a comment |
add a comment |
20 Answers
20
active
oldest
votes
First, list your queues:
rabbitmqadmin list queues name
Then from the list, you'll need to manually delete them one by one:
rabbitmqadmin delete queue name='queuename'
Because of the output format, doesn't appear you can grep the response from list queues
. Alternatively, if you're just looking for a way to clear everything (read: reset all settings, returning the installation to a default state), use:
rabbitmqctl stop_app
rabbitmqctl reset # Be sure you really want to do this!
rabbitmqctl start_app
4
to see all pending tasks in rabbitmq:rabbitmqctl list_queues name messages messages_ready messages_unacknowledged
– Guillaume Vincent
Oct 19 '13 at 13:32
Be aware that "rabbitmqctl reset" will reset everything back to the "factory settings". Any RabbitMQ users, virtual hosts, etc, that you have created will be blown away.
– thoufek
Mar 14 '14 at 19:38
Apologies @smartnut007, I've clarified the second portion of the answer with a disclaimer.
– lukiffer
May 22 '14 at 18:59
23
just grabbing the empty queues.rabbitmqctl list_queues | grep 0 | awk '{print $1}' | xargs -I qn rabbitmqadmin delete queue name=qn
– au_stan
Jun 24 '14 at 19:09
3
@au_stan That will delete all queues with a 0 in the name or the count. Might want to dogrep $'t0'
or something.
– woot
Sep 14 '15 at 4:07
|
show 5 more comments
With rabbitmqadmin
you can remove them with this one-liner:
rabbitmqadmin -f tsv -q list queues name | while read queue; do rabbitmqadmin -q delete queue name=${queue}; done
1
Doesn't work. Gives me a bunch of*** Not found: /api/queues/%2F/foo%0D
errors.
– Der Hochstapler
Nov 28 '17 at 12:55
In my case queues are prefixed with keyword by which I can simply useegrep
, so my command will look like this:rabbitmqadmin -f tsv -q list queues name | egrep "%search word%" | while read queue; do rabbitmqadmin -q delete queue name=${queue}; done
– Logans
Oct 11 '18 at 10:51
add a comment |
Try this:
rabbitmqadmin list queues name | awk '{print $2}' | xargs -I qn rabbitmqadmin delete queue name=qn
1
This worked for me, but also showed*** Not found: /api/queues/%2F/name
because the output is a ASCII table with a "name" column. I tweaked the command to berabbitmqadmin list queues name | awk '!/--|name/ {print $2}' | xargs -I qn rabbitmqadmin delete queue name=qn
to fix it.
– Mark Edington
Jun 5 '17 at 13:52
rabbitmqadmin list queues name | awk {'print$2'} | egrep [^name] | xargs -I qname rabbitmqadmin delete queue name=qname
– phatpenguin
Sep 5 '18 at 16:10
add a comment |
Actually super easy with management plugin and policies:
Goto Management Console (localhost:15672)
Goto Admin tab
Goto Policies tab(on the right side)
Add Policy
Fill Fields
Virtual Host: Select
Name: Expire All Policies(Delete Later)
Pattern: .*
Apply to: Queues
Definition: expires with value 1 (change type from String to Number)
Save
- Checkout Queues tab again
- All Queues must be deleted
And don't forget remove policy!!!!!!.
1
select "Number" at Definition. Does not work with default ("String")
– Mathias
Nov 12 '18 at 7:07
Great answer, actually made up my day. If you select "Exchanges and Queues" from the list, you could easily delete both Queues and Exchanges. I wish this could be the accepted answer.
– Wiktor Zychla
Dec 5 '18 at 11:20
add a comment |
I made a deleteRabbitMqQs.sh, which accepts arguments to search the list of queues for, selecting only ones matching the pattern you want. If you offer no arguments, it will delete them all! It shows you the list of queues its about to delete, letting you quit before doing anything destructive.
for word in "$@"
do
args=true
newQueues=$(rabbitmqctl list_queues name | grep "$word")
queues="$queues
$newQueues"
done
if [ $# -eq 0 ]; then
queues=$(rabbitmqctl list_queues name | grep -v "...")
fi
queues=$(echo "$queues" | sed '/^[[:space:]]*$/d')
if [ "x$queues" == "x" ]; then
echo "No queues to delete, giving up."
exit 0
fi
read -p "Deleting the following queues:
${queues}
[CTRL+C quit | ENTER proceed]
"
while read -r line; do
rabbitmqadmin delete queue name="$line"
done <<< "$queues"
If you want different matching against the arguments you pass in, you can alter the grep in line four. When deleting all queues, it won't delete ones with three consecutive spaces in them, because I figured that eventuality would be rarer than people who have rabbitmqctl printing its output out in different languages.
Enjoy!
add a comment |
If you're trying to delete queues because they're unused and you don't want to reset, one option is to set the queue TTL very low via a policy, wait for the queues to be auto-deleted once the TTL is passed and then remove the policy (https://www.rabbitmq.com/ttl.html).
rabbitmqctl.bat set_policy delq ".*" '{"expires": 1}' --apply-to queues
To remove the policy
rabbitmqctl clear_policy delq
Note that this only works for unused queues
Original info here: http://rabbitmq.1065348.n5.nabble.com/Deleting-all-queues-in-rabbitmq-td30933.html
add a comment |
If you don't have rabbitmqadmin installed, try to purge queues with rabbitmqctl:
rabbitmqctl list_queues | awk '{ print $1 }' | xargs -L1 rabbitmqctl purge_queue
There is nodelete_queue
norpurge_queue
commands inrabbitmqctl
. I would like to purge a lot of queues that seem to be automatically generated and I would not like to install extra software likerabbitmqadmin
...
– Rolice
Jan 9 '18 at 9:09
rabbitmqctl purge_queue
worked here manually. I only needed to add -p <virtual-host>
– Roman Susi
Feb 1 '18 at 8:38
add a comment |
Here is a way to do it with PowerShell. the URL may need to be updated
$cred = Get-Credential
iwr -ContentType 'application/json' -Method Get -Credential $cred 'http://localhost:15672/api/queues' | % {
ConvertFrom-Json $_.Content } | % { $_ } | ? { $_.messages -gt 0} | % {
iwr -method DELETE -Credential $cred -uri $("http://localhost:15672/api/queues/{0}/{1}" -f [System.Web.HttpUtility]::UrlEncode($_.vhost), $_.name)
}
Note, this only deletes non-empty queues. Remove the -gt clause to delete all queues
– Peter Goodman
Mar 17 '15 at 1:27
add a comment |
You can use rabbitmqctl eval as below:
rabbitmqctl eval 'IfUnused = false, IfEmpty = true, MatchRegex =
<<"^prefix-">>, [rabbit_amqqueue:delete(Q, IfUnused, IfEmpty) || Q <-
rabbit_amqqueue:list(), re:run(element(4, element(2, Q)), MatchRegex)
=/= nomatch ].'
The above will delete all empty queues in all vhosts that have a name
beginning with "prefix-".
You can edit the variables IfUnused, IfEmpty,
and MatchRegex as per your requirement.
Perfect for whenrabbitmqadmin
is not accessible.
– NuSkooler
Aug 24 '16 at 19:59
add a comment |
Removing all queues using rabbitmqctl one liner
rabbitmqctl list_queues | awk '{ print $1 }' | sed 's/Listing//' | xargs -L1 rabbitmqctl purge_queue
add a comment |
In case you only want to purge the queues which are not empty (a lot faster):
rabbitmqctl list_queues | awk '$2!=0 { print $1 }' | sed 's/Listing//' | xargs -L1 rabbitmqctl purge_queue
For me, it takes 2-3 seconds to purge a queue (both empty and non-empty ones), so iterating through 50 queues is such a pain while I just need to purge 10 of them (40/50 are empty).
1
the command works perfectly - thank you very much
– Viorel Florian
Oct 21 '18 at 8:20
add a comment |
To list queues,
./rabbitmqadmin -f tsv -q list queues
To delete a queue,
./rabbitmqadmin delete queue name=name_of_queue
add a comment |
Here is a faster version (using parallel
install sudo apt-get install parallel) expanding on the excellent answer by @admenva
parallel -j 50 rabbitmqadmin -H YOUR_HOST_OR_LOCALHOST -q delete queue name={} ::: $(rabbitmqadmin -H YOUR_HOST_OR_LOCALHOST -f tsv -q list queues name)
add a comment |
This commands deletes all your queues
python rabbitmqadmin.py
-H YOURHOST -u guest -p guest -f bash list queues |
xargs -n1 |
xargs -I{}
python rabbitmqadmin.py -H YOURHOST -u guest -p guest delete queue name={}
This script is super simple because it uses -f bash
, which outputs the queues as a list.
Then we use xargs -n1
to split that up into multiple variables
Then we use xargs -I{}
that will run the command following, and replace {}
in the command.
I've tried like 10 different answers, and this is the ONLY thing that has actually worked to delete queues without killing all my other settings. Thanks! I can't believe rabbitmqctl doesn't just have a "drop all queues" command.
– sudo
Aug 1 '16 at 19:52
BTW, to get rabbitmqadmin, you need to go tohttp://yourhost:15672/cli/
and download it.
– sudo
Aug 1 '16 at 19:54
add a comment |
You need not reset rabbitmq server to delete non-durable queues. Simply stop the server and start again and it will remove all the non-durable queues available.
including durable queues? I don't think so. I'll qualify your answer.
– Hendy Irawan
Nov 26 '15 at 8:38
No, durable queues cannot be deleted by stopping the server. They can be deleted from RabbitMQ Management web interface under queues.
– ErAcube
Nov 26 '15 at 9:48
Actually yes, this helped me and all about 4500 automatically generated queues are gone. It seems that these were non-durable ones. Thanks!
– Rolice
Jan 9 '18 at 9:12
add a comment |
There's a way to remove all queues and exchanges without scripts and full reset. You can just delete and re-create a virtual host from admin interface. This will work even for vhost /
.
The only thing you'll need to restore is permissions for the newly created vhost.
add a comment |
Okay, important qualifier for this answer:
The question does ask to use either rabbitmqctl OR rabbitmqadmin to solve this, my answer needed to use both. Also, note that this was tested on MacOS 10.12.6 and the versions of the rabbitmqctl and rabbitmqadmin that are installed when installing rabbitmq with Homebrew and which is identified with brew list --versions
as rabbitmq 3.7.0
rabbitmqctl list_queues -p <VIRTUAL_HOSTNAME> name | sed 1,2d | xargs -I qname rabbitmqadmin --vhost <VIRTUAL_HOSTNAME> delete queue name=qname
add a comment |
I tried rabbitmqctl and reset commands but they are very slow.
This is the fastest way I found (replace your username and password):
#!/bin/bash
# Stop on error
set -eo pipefail
USER='guest'
PASSWORD='guest'
curl -sSL -u $USER:$PASSWORD http://localhost:15672/api/queues/%2f/ | jq '..name' | sed 's/"//g' | xargs -L 1 -I@ curl -XDELETE -sSL -u $USER:$PASSWORD http://localhost:15672/api/queues/%2f/@
# To also delete exchanges uncomment next line
# curl -sSL -u $USER:$PASSWORD http://localhost:15672/api/exchanges/%2f/ | jq '..name' | sed 's/"//g' | xargs -L 1 -I@ curl -XDELETE -sSL -u $USER:$PASSWORD http://localhost:15672/api/exchanges/%2f/@
Note: This only works with the default vhost /
add a comment |
Another option is to delete the vhost associated with the queues. This will delete everything associated with the vhost, so be warned, but it is easy and fast.
NOTE: the RabbitMQ team monitors the rabbitmq-users
mailing list and only sometimes answers questions on StackOverflow.
add a comment |
rabbitmqadmin list queues|awk 'NR>3{print $4}'|head -n-1|xargs -I qname rabbitmqadmin delete queue name=qname
1
I receive this when running it: head: illegal line count -- -1
– Robert Ross
Feb 25 '14 at 17:20
The "head -n-1" should be either "head -1" or "head -n 1"
– Gerd Busker
Jun 30 '14 at 11:14
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f11459676%2fdelete-all-the-queues-from-rabbitmq%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
20 Answers
20
active
oldest
votes
20 Answers
20
active
oldest
votes
active
oldest
votes
active
oldest
votes
First, list your queues:
rabbitmqadmin list queues name
Then from the list, you'll need to manually delete them one by one:
rabbitmqadmin delete queue name='queuename'
Because of the output format, doesn't appear you can grep the response from list queues
. Alternatively, if you're just looking for a way to clear everything (read: reset all settings, returning the installation to a default state), use:
rabbitmqctl stop_app
rabbitmqctl reset # Be sure you really want to do this!
rabbitmqctl start_app
4
to see all pending tasks in rabbitmq:rabbitmqctl list_queues name messages messages_ready messages_unacknowledged
– Guillaume Vincent
Oct 19 '13 at 13:32
Be aware that "rabbitmqctl reset" will reset everything back to the "factory settings". Any RabbitMQ users, virtual hosts, etc, that you have created will be blown away.
– thoufek
Mar 14 '14 at 19:38
Apologies @smartnut007, I've clarified the second portion of the answer with a disclaimer.
– lukiffer
May 22 '14 at 18:59
23
just grabbing the empty queues.rabbitmqctl list_queues | grep 0 | awk '{print $1}' | xargs -I qn rabbitmqadmin delete queue name=qn
– au_stan
Jun 24 '14 at 19:09
3
@au_stan That will delete all queues with a 0 in the name or the count. Might want to dogrep $'t0'
or something.
– woot
Sep 14 '15 at 4:07
|
show 5 more comments
First, list your queues:
rabbitmqadmin list queues name
Then from the list, you'll need to manually delete them one by one:
rabbitmqadmin delete queue name='queuename'
Because of the output format, doesn't appear you can grep the response from list queues
. Alternatively, if you're just looking for a way to clear everything (read: reset all settings, returning the installation to a default state), use:
rabbitmqctl stop_app
rabbitmqctl reset # Be sure you really want to do this!
rabbitmqctl start_app
4
to see all pending tasks in rabbitmq:rabbitmqctl list_queues name messages messages_ready messages_unacknowledged
– Guillaume Vincent
Oct 19 '13 at 13:32
Be aware that "rabbitmqctl reset" will reset everything back to the "factory settings". Any RabbitMQ users, virtual hosts, etc, that you have created will be blown away.
– thoufek
Mar 14 '14 at 19:38
Apologies @smartnut007, I've clarified the second portion of the answer with a disclaimer.
– lukiffer
May 22 '14 at 18:59
23
just grabbing the empty queues.rabbitmqctl list_queues | grep 0 | awk '{print $1}' | xargs -I qn rabbitmqadmin delete queue name=qn
– au_stan
Jun 24 '14 at 19:09
3
@au_stan That will delete all queues with a 0 in the name or the count. Might want to dogrep $'t0'
or something.
– woot
Sep 14 '15 at 4:07
|
show 5 more comments
First, list your queues:
rabbitmqadmin list queues name
Then from the list, you'll need to manually delete them one by one:
rabbitmqadmin delete queue name='queuename'
Because of the output format, doesn't appear you can grep the response from list queues
. Alternatively, if you're just looking for a way to clear everything (read: reset all settings, returning the installation to a default state), use:
rabbitmqctl stop_app
rabbitmqctl reset # Be sure you really want to do this!
rabbitmqctl start_app
First, list your queues:
rabbitmqadmin list queues name
Then from the list, you'll need to manually delete them one by one:
rabbitmqadmin delete queue name='queuename'
Because of the output format, doesn't appear you can grep the response from list queues
. Alternatively, if you're just looking for a way to clear everything (read: reset all settings, returning the installation to a default state), use:
rabbitmqctl stop_app
rabbitmqctl reset # Be sure you really want to do this!
rabbitmqctl start_app
edited Sep 4 '15 at 17:27
woot
5,91422745
5,91422745
answered Jul 12 '12 at 20:19
lukifferlukiffer
8,64153364
8,64153364
4
to see all pending tasks in rabbitmq:rabbitmqctl list_queues name messages messages_ready messages_unacknowledged
– Guillaume Vincent
Oct 19 '13 at 13:32
Be aware that "rabbitmqctl reset" will reset everything back to the "factory settings". Any RabbitMQ users, virtual hosts, etc, that you have created will be blown away.
– thoufek
Mar 14 '14 at 19:38
Apologies @smartnut007, I've clarified the second portion of the answer with a disclaimer.
– lukiffer
May 22 '14 at 18:59
23
just grabbing the empty queues.rabbitmqctl list_queues | grep 0 | awk '{print $1}' | xargs -I qn rabbitmqadmin delete queue name=qn
– au_stan
Jun 24 '14 at 19:09
3
@au_stan That will delete all queues with a 0 in the name or the count. Might want to dogrep $'t0'
or something.
– woot
Sep 14 '15 at 4:07
|
show 5 more comments
4
to see all pending tasks in rabbitmq:rabbitmqctl list_queues name messages messages_ready messages_unacknowledged
– Guillaume Vincent
Oct 19 '13 at 13:32
Be aware that "rabbitmqctl reset" will reset everything back to the "factory settings". Any RabbitMQ users, virtual hosts, etc, that you have created will be blown away.
– thoufek
Mar 14 '14 at 19:38
Apologies @smartnut007, I've clarified the second portion of the answer with a disclaimer.
– lukiffer
May 22 '14 at 18:59
23
just grabbing the empty queues.rabbitmqctl list_queues | grep 0 | awk '{print $1}' | xargs -I qn rabbitmqadmin delete queue name=qn
– au_stan
Jun 24 '14 at 19:09
3
@au_stan That will delete all queues with a 0 in the name or the count. Might want to dogrep $'t0'
or something.
– woot
Sep 14 '15 at 4:07
4
4
to see all pending tasks in rabbitmq:
rabbitmqctl list_queues name messages messages_ready messages_unacknowledged
– Guillaume Vincent
Oct 19 '13 at 13:32
to see all pending tasks in rabbitmq:
rabbitmqctl list_queues name messages messages_ready messages_unacknowledged
– Guillaume Vincent
Oct 19 '13 at 13:32
Be aware that "rabbitmqctl reset" will reset everything back to the "factory settings". Any RabbitMQ users, virtual hosts, etc, that you have created will be blown away.
– thoufek
Mar 14 '14 at 19:38
Be aware that "rabbitmqctl reset" will reset everything back to the "factory settings". Any RabbitMQ users, virtual hosts, etc, that you have created will be blown away.
– thoufek
Mar 14 '14 at 19:38
Apologies @smartnut007, I've clarified the second portion of the answer with a disclaimer.
– lukiffer
May 22 '14 at 18:59
Apologies @smartnut007, I've clarified the second portion of the answer with a disclaimer.
– lukiffer
May 22 '14 at 18:59
23
23
just grabbing the empty queues.
rabbitmqctl list_queues | grep 0 | awk '{print $1}' | xargs -I qn rabbitmqadmin delete queue name=qn
– au_stan
Jun 24 '14 at 19:09
just grabbing the empty queues.
rabbitmqctl list_queues | grep 0 | awk '{print $1}' | xargs -I qn rabbitmqadmin delete queue name=qn
– au_stan
Jun 24 '14 at 19:09
3
3
@au_stan That will delete all queues with a 0 in the name or the count. Might want to do
grep $'t0'
or something.– woot
Sep 14 '15 at 4:07
@au_stan That will delete all queues with a 0 in the name or the count. Might want to do
grep $'t0'
or something.– woot
Sep 14 '15 at 4:07
|
show 5 more comments
With rabbitmqadmin
you can remove them with this one-liner:
rabbitmqadmin -f tsv -q list queues name | while read queue; do rabbitmqadmin -q delete queue name=${queue}; done
1
Doesn't work. Gives me a bunch of*** Not found: /api/queues/%2F/foo%0D
errors.
– Der Hochstapler
Nov 28 '17 at 12:55
In my case queues are prefixed with keyword by which I can simply useegrep
, so my command will look like this:rabbitmqadmin -f tsv -q list queues name | egrep "%search word%" | while read queue; do rabbitmqadmin -q delete queue name=${queue}; done
– Logans
Oct 11 '18 at 10:51
add a comment |
With rabbitmqadmin
you can remove them with this one-liner:
rabbitmqadmin -f tsv -q list queues name | while read queue; do rabbitmqadmin -q delete queue name=${queue}; done
1
Doesn't work. Gives me a bunch of*** Not found: /api/queues/%2F/foo%0D
errors.
– Der Hochstapler
Nov 28 '17 at 12:55
In my case queues are prefixed with keyword by which I can simply useegrep
, so my command will look like this:rabbitmqadmin -f tsv -q list queues name | egrep "%search word%" | while read queue; do rabbitmqadmin -q delete queue name=${queue}; done
– Logans
Oct 11 '18 at 10:51
add a comment |
With rabbitmqadmin
you can remove them with this one-liner:
rabbitmqadmin -f tsv -q list queues name | while read queue; do rabbitmqadmin -q delete queue name=${queue}; done
With rabbitmqadmin
you can remove them with this one-liner:
rabbitmqadmin -f tsv -q list queues name | while read queue; do rabbitmqadmin -q delete queue name=${queue}; done
answered Oct 2 '14 at 22:29
admenvaadmenva
1,8231212
1,8231212
1
Doesn't work. Gives me a bunch of*** Not found: /api/queues/%2F/foo%0D
errors.
– Der Hochstapler
Nov 28 '17 at 12:55
In my case queues are prefixed with keyword by which I can simply useegrep
, so my command will look like this:rabbitmqadmin -f tsv -q list queues name | egrep "%search word%" | while read queue; do rabbitmqadmin -q delete queue name=${queue}; done
– Logans
Oct 11 '18 at 10:51
add a comment |
1
Doesn't work. Gives me a bunch of*** Not found: /api/queues/%2F/foo%0D
errors.
– Der Hochstapler
Nov 28 '17 at 12:55
In my case queues are prefixed with keyword by which I can simply useegrep
, so my command will look like this:rabbitmqadmin -f tsv -q list queues name | egrep "%search word%" | while read queue; do rabbitmqadmin -q delete queue name=${queue}; done
– Logans
Oct 11 '18 at 10:51
1
1
Doesn't work. Gives me a bunch of
*** Not found: /api/queues/%2F/foo%0D
errors.– Der Hochstapler
Nov 28 '17 at 12:55
Doesn't work. Gives me a bunch of
*** Not found: /api/queues/%2F/foo%0D
errors.– Der Hochstapler
Nov 28 '17 at 12:55
In my case queues are prefixed with keyword by which I can simply use
egrep
, so my command will look like this: rabbitmqadmin -f tsv -q list queues name | egrep "%search word%" | while read queue; do rabbitmqadmin -q delete queue name=${queue}; done
– Logans
Oct 11 '18 at 10:51
In my case queues are prefixed with keyword by which I can simply use
egrep
, so my command will look like this: rabbitmqadmin -f tsv -q list queues name | egrep "%search word%" | while read queue; do rabbitmqadmin -q delete queue name=${queue}; done
– Logans
Oct 11 '18 at 10:51
add a comment |
Try this:
rabbitmqadmin list queues name | awk '{print $2}' | xargs -I qn rabbitmqadmin delete queue name=qn
1
This worked for me, but also showed*** Not found: /api/queues/%2F/name
because the output is a ASCII table with a "name" column. I tweaked the command to berabbitmqadmin list queues name | awk '!/--|name/ {print $2}' | xargs -I qn rabbitmqadmin delete queue name=qn
to fix it.
– Mark Edington
Jun 5 '17 at 13:52
rabbitmqadmin list queues name | awk {'print$2'} | egrep [^name] | xargs -I qname rabbitmqadmin delete queue name=qname
– phatpenguin
Sep 5 '18 at 16:10
add a comment |
Try this:
rabbitmqadmin list queues name | awk '{print $2}' | xargs -I qn rabbitmqadmin delete queue name=qn
1
This worked for me, but also showed*** Not found: /api/queues/%2F/name
because the output is a ASCII table with a "name" column. I tweaked the command to berabbitmqadmin list queues name | awk '!/--|name/ {print $2}' | xargs -I qn rabbitmqadmin delete queue name=qn
to fix it.
– Mark Edington
Jun 5 '17 at 13:52
rabbitmqadmin list queues name | awk {'print$2'} | egrep [^name] | xargs -I qname rabbitmqadmin delete queue name=qname
– phatpenguin
Sep 5 '18 at 16:10
add a comment |
Try this:
rabbitmqadmin list queues name | awk '{print $2}' | xargs -I qn rabbitmqadmin delete queue name=qn
Try this:
rabbitmqadmin list queues name | awk '{print $2}' | xargs -I qn rabbitmqadmin delete queue name=qn
edited Feb 18 '15 at 11:13
Venkata Krishna
1,59211021
1,59211021
answered Feb 18 '15 at 10:12
GatholeGathole
5961021
5961021
1
This worked for me, but also showed*** Not found: /api/queues/%2F/name
because the output is a ASCII table with a "name" column. I tweaked the command to berabbitmqadmin list queues name | awk '!/--|name/ {print $2}' | xargs -I qn rabbitmqadmin delete queue name=qn
to fix it.
– Mark Edington
Jun 5 '17 at 13:52
rabbitmqadmin list queues name | awk {'print$2'} | egrep [^name] | xargs -I qname rabbitmqadmin delete queue name=qname
– phatpenguin
Sep 5 '18 at 16:10
add a comment |
1
This worked for me, but also showed*** Not found: /api/queues/%2F/name
because the output is a ASCII table with a "name" column. I tweaked the command to berabbitmqadmin list queues name | awk '!/--|name/ {print $2}' | xargs -I qn rabbitmqadmin delete queue name=qn
to fix it.
– Mark Edington
Jun 5 '17 at 13:52
rabbitmqadmin list queues name | awk {'print$2'} | egrep [^name] | xargs -I qname rabbitmqadmin delete queue name=qname
– phatpenguin
Sep 5 '18 at 16:10
1
1
This worked for me, but also showed
*** Not found: /api/queues/%2F/name
because the output is a ASCII table with a "name" column. I tweaked the command to be rabbitmqadmin list queues name | awk '!/--|name/ {print $2}' | xargs -I qn rabbitmqadmin delete queue name=qn
to fix it.– Mark Edington
Jun 5 '17 at 13:52
This worked for me, but also showed
*** Not found: /api/queues/%2F/name
because the output is a ASCII table with a "name" column. I tweaked the command to be rabbitmqadmin list queues name | awk '!/--|name/ {print $2}' | xargs -I qn rabbitmqadmin delete queue name=qn
to fix it.– Mark Edington
Jun 5 '17 at 13:52
rabbitmqadmin list queues name | awk {'print$2'} | egrep [^name] | xargs -I qname rabbitmqadmin delete queue name=qname
– phatpenguin
Sep 5 '18 at 16:10
rabbitmqadmin list queues name | awk {'print$2'} | egrep [^name] | xargs -I qname rabbitmqadmin delete queue name=qname
– phatpenguin
Sep 5 '18 at 16:10
add a comment |
Actually super easy with management plugin and policies:
Goto Management Console (localhost:15672)
Goto Admin tab
Goto Policies tab(on the right side)
Add Policy
Fill Fields
Virtual Host: Select
Name: Expire All Policies(Delete Later)
Pattern: .*
Apply to: Queues
Definition: expires with value 1 (change type from String to Number)
Save
- Checkout Queues tab again
- All Queues must be deleted
And don't forget remove policy!!!!!!.
1
select "Number" at Definition. Does not work with default ("String")
– Mathias
Nov 12 '18 at 7:07
Great answer, actually made up my day. If you select "Exchanges and Queues" from the list, you could easily delete both Queues and Exchanges. I wish this could be the accepted answer.
– Wiktor Zychla
Dec 5 '18 at 11:20
add a comment |
Actually super easy with management plugin and policies:
Goto Management Console (localhost:15672)
Goto Admin tab
Goto Policies tab(on the right side)
Add Policy
Fill Fields
Virtual Host: Select
Name: Expire All Policies(Delete Later)
Pattern: .*
Apply to: Queues
Definition: expires with value 1 (change type from String to Number)
Save
- Checkout Queues tab again
- All Queues must be deleted
And don't forget remove policy!!!!!!.
1
select "Number" at Definition. Does not work with default ("String")
– Mathias
Nov 12 '18 at 7:07
Great answer, actually made up my day. If you select "Exchanges and Queues" from the list, you could easily delete both Queues and Exchanges. I wish this could be the accepted answer.
– Wiktor Zychla
Dec 5 '18 at 11:20
add a comment |
Actually super easy with management plugin and policies:
Goto Management Console (localhost:15672)
Goto Admin tab
Goto Policies tab(on the right side)
Add Policy
Fill Fields
Virtual Host: Select
Name: Expire All Policies(Delete Later)
Pattern: .*
Apply to: Queues
Definition: expires with value 1 (change type from String to Number)
Save
- Checkout Queues tab again
- All Queues must be deleted
And don't forget remove policy!!!!!!.
Actually super easy with management plugin and policies:
Goto Management Console (localhost:15672)
Goto Admin tab
Goto Policies tab(on the right side)
Add Policy
Fill Fields
Virtual Host: Select
Name: Expire All Policies(Delete Later)
Pattern: .*
Apply to: Queues
Definition: expires with value 1 (change type from String to Number)
Save
- Checkout Queues tab again
- All Queues must be deleted
And don't forget remove policy!!!!!!.
edited Jan 5 at 0:40
yoyo
5,16424141
5,16424141
answered Aug 24 '18 at 10:07
Mesut A.Mesut A.
12115
12115
1
select "Number" at Definition. Does not work with default ("String")
– Mathias
Nov 12 '18 at 7:07
Great answer, actually made up my day. If you select "Exchanges and Queues" from the list, you could easily delete both Queues and Exchanges. I wish this could be the accepted answer.
– Wiktor Zychla
Dec 5 '18 at 11:20
add a comment |
1
select "Number" at Definition. Does not work with default ("String")
– Mathias
Nov 12 '18 at 7:07
Great answer, actually made up my day. If you select "Exchanges and Queues" from the list, you could easily delete both Queues and Exchanges. I wish this could be the accepted answer.
– Wiktor Zychla
Dec 5 '18 at 11:20
1
1
select "Number" at Definition. Does not work with default ("String")
– Mathias
Nov 12 '18 at 7:07
select "Number" at Definition. Does not work with default ("String")
– Mathias
Nov 12 '18 at 7:07
Great answer, actually made up my day. If you select "Exchanges and Queues" from the list, you could easily delete both Queues and Exchanges. I wish this could be the accepted answer.
– Wiktor Zychla
Dec 5 '18 at 11:20
Great answer, actually made up my day. If you select "Exchanges and Queues" from the list, you could easily delete both Queues and Exchanges. I wish this could be the accepted answer.
– Wiktor Zychla
Dec 5 '18 at 11:20
add a comment |
I made a deleteRabbitMqQs.sh, which accepts arguments to search the list of queues for, selecting only ones matching the pattern you want. If you offer no arguments, it will delete them all! It shows you the list of queues its about to delete, letting you quit before doing anything destructive.
for word in "$@"
do
args=true
newQueues=$(rabbitmqctl list_queues name | grep "$word")
queues="$queues
$newQueues"
done
if [ $# -eq 0 ]; then
queues=$(rabbitmqctl list_queues name | grep -v "...")
fi
queues=$(echo "$queues" | sed '/^[[:space:]]*$/d')
if [ "x$queues" == "x" ]; then
echo "No queues to delete, giving up."
exit 0
fi
read -p "Deleting the following queues:
${queues}
[CTRL+C quit | ENTER proceed]
"
while read -r line; do
rabbitmqadmin delete queue name="$line"
done <<< "$queues"
If you want different matching against the arguments you pass in, you can alter the grep in line four. When deleting all queues, it won't delete ones with three consecutive spaces in them, because I figured that eventuality would be rarer than people who have rabbitmqctl printing its output out in different languages.
Enjoy!
add a comment |
I made a deleteRabbitMqQs.sh, which accepts arguments to search the list of queues for, selecting only ones matching the pattern you want. If you offer no arguments, it will delete them all! It shows you the list of queues its about to delete, letting you quit before doing anything destructive.
for word in "$@"
do
args=true
newQueues=$(rabbitmqctl list_queues name | grep "$word")
queues="$queues
$newQueues"
done
if [ $# -eq 0 ]; then
queues=$(rabbitmqctl list_queues name | grep -v "...")
fi
queues=$(echo "$queues" | sed '/^[[:space:]]*$/d')
if [ "x$queues" == "x" ]; then
echo "No queues to delete, giving up."
exit 0
fi
read -p "Deleting the following queues:
${queues}
[CTRL+C quit | ENTER proceed]
"
while read -r line; do
rabbitmqadmin delete queue name="$line"
done <<< "$queues"
If you want different matching against the arguments you pass in, you can alter the grep in line four. When deleting all queues, it won't delete ones with three consecutive spaces in them, because I figured that eventuality would be rarer than people who have rabbitmqctl printing its output out in different languages.
Enjoy!
add a comment |
I made a deleteRabbitMqQs.sh, which accepts arguments to search the list of queues for, selecting only ones matching the pattern you want. If you offer no arguments, it will delete them all! It shows you the list of queues its about to delete, letting you quit before doing anything destructive.
for word in "$@"
do
args=true
newQueues=$(rabbitmqctl list_queues name | grep "$word")
queues="$queues
$newQueues"
done
if [ $# -eq 0 ]; then
queues=$(rabbitmqctl list_queues name | grep -v "...")
fi
queues=$(echo "$queues" | sed '/^[[:space:]]*$/d')
if [ "x$queues" == "x" ]; then
echo "No queues to delete, giving up."
exit 0
fi
read -p "Deleting the following queues:
${queues}
[CTRL+C quit | ENTER proceed]
"
while read -r line; do
rabbitmqadmin delete queue name="$line"
done <<< "$queues"
If you want different matching against the arguments you pass in, you can alter the grep in line four. When deleting all queues, it won't delete ones with three consecutive spaces in them, because I figured that eventuality would be rarer than people who have rabbitmqctl printing its output out in different languages.
Enjoy!
I made a deleteRabbitMqQs.sh, which accepts arguments to search the list of queues for, selecting only ones matching the pattern you want. If you offer no arguments, it will delete them all! It shows you the list of queues its about to delete, letting you quit before doing anything destructive.
for word in "$@"
do
args=true
newQueues=$(rabbitmqctl list_queues name | grep "$word")
queues="$queues
$newQueues"
done
if [ $# -eq 0 ]; then
queues=$(rabbitmqctl list_queues name | grep -v "...")
fi
queues=$(echo "$queues" | sed '/^[[:space:]]*$/d')
if [ "x$queues" == "x" ]; then
echo "No queues to delete, giving up."
exit 0
fi
read -p "Deleting the following queues:
${queues}
[CTRL+C quit | ENTER proceed]
"
while read -r line; do
rabbitmqadmin delete queue name="$line"
done <<< "$queues"
If you want different matching against the arguments you pass in, you can alter the grep in line four. When deleting all queues, it won't delete ones with three consecutive spaces in them, because I figured that eventuality would be rarer than people who have rabbitmqctl printing its output out in different languages.
Enjoy!
edited Sep 13 '13 at 13:18
answered Sep 13 '13 at 12:06
DanDan
392310
392310
add a comment |
add a comment |
If you're trying to delete queues because they're unused and you don't want to reset, one option is to set the queue TTL very low via a policy, wait for the queues to be auto-deleted once the TTL is passed and then remove the policy (https://www.rabbitmq.com/ttl.html).
rabbitmqctl.bat set_policy delq ".*" '{"expires": 1}' --apply-to queues
To remove the policy
rabbitmqctl clear_policy delq
Note that this only works for unused queues
Original info here: http://rabbitmq.1065348.n5.nabble.com/Deleting-all-queues-in-rabbitmq-td30933.html
add a comment |
If you're trying to delete queues because they're unused and you don't want to reset, one option is to set the queue TTL very low via a policy, wait for the queues to be auto-deleted once the TTL is passed and then remove the policy (https://www.rabbitmq.com/ttl.html).
rabbitmqctl.bat set_policy delq ".*" '{"expires": 1}' --apply-to queues
To remove the policy
rabbitmqctl clear_policy delq
Note that this only works for unused queues
Original info here: http://rabbitmq.1065348.n5.nabble.com/Deleting-all-queues-in-rabbitmq-td30933.html
add a comment |
If you're trying to delete queues because they're unused and you don't want to reset, one option is to set the queue TTL very low via a policy, wait for the queues to be auto-deleted once the TTL is passed and then remove the policy (https://www.rabbitmq.com/ttl.html).
rabbitmqctl.bat set_policy delq ".*" '{"expires": 1}' --apply-to queues
To remove the policy
rabbitmqctl clear_policy delq
Note that this only works for unused queues
Original info here: http://rabbitmq.1065348.n5.nabble.com/Deleting-all-queues-in-rabbitmq-td30933.html
If you're trying to delete queues because they're unused and you don't want to reset, one option is to set the queue TTL very low via a policy, wait for the queues to be auto-deleted once the TTL is passed and then remove the policy (https://www.rabbitmq.com/ttl.html).
rabbitmqctl.bat set_policy delq ".*" '{"expires": 1}' --apply-to queues
To remove the policy
rabbitmqctl clear_policy delq
Note that this only works for unused queues
Original info here: http://rabbitmq.1065348.n5.nabble.com/Deleting-all-queues-in-rabbitmq-td30933.html
answered Apr 12 '16 at 13:52
user783836user783836
1,0601323
1,0601323
add a comment |
add a comment |
If you don't have rabbitmqadmin installed, try to purge queues with rabbitmqctl:
rabbitmqctl list_queues | awk '{ print $1 }' | xargs -L1 rabbitmqctl purge_queue
There is nodelete_queue
norpurge_queue
commands inrabbitmqctl
. I would like to purge a lot of queues that seem to be automatically generated and I would not like to install extra software likerabbitmqadmin
...
– Rolice
Jan 9 '18 at 9:09
rabbitmqctl purge_queue
worked here manually. I only needed to add -p <virtual-host>
– Roman Susi
Feb 1 '18 at 8:38
add a comment |
If you don't have rabbitmqadmin installed, try to purge queues with rabbitmqctl:
rabbitmqctl list_queues | awk '{ print $1 }' | xargs -L1 rabbitmqctl purge_queue
There is nodelete_queue
norpurge_queue
commands inrabbitmqctl
. I would like to purge a lot of queues that seem to be automatically generated and I would not like to install extra software likerabbitmqadmin
...
– Rolice
Jan 9 '18 at 9:09
rabbitmqctl purge_queue
worked here manually. I only needed to add -p <virtual-host>
– Roman Susi
Feb 1 '18 at 8:38
add a comment |
If you don't have rabbitmqadmin installed, try to purge queues with rabbitmqctl:
rabbitmqctl list_queues | awk '{ print $1 }' | xargs -L1 rabbitmqctl purge_queue
If you don't have rabbitmqadmin installed, try to purge queues with rabbitmqctl:
rabbitmqctl list_queues | awk '{ print $1 }' | xargs -L1 rabbitmqctl purge_queue
answered Mar 27 '17 at 11:46
Anatoly RugalevAnatoly Rugalev
43759
43759
There is nodelete_queue
norpurge_queue
commands inrabbitmqctl
. I would like to purge a lot of queues that seem to be automatically generated and I would not like to install extra software likerabbitmqadmin
...
– Rolice
Jan 9 '18 at 9:09
rabbitmqctl purge_queue
worked here manually. I only needed to add -p <virtual-host>
– Roman Susi
Feb 1 '18 at 8:38
add a comment |
There is nodelete_queue
norpurge_queue
commands inrabbitmqctl
. I would like to purge a lot of queues that seem to be automatically generated and I would not like to install extra software likerabbitmqadmin
...
– Rolice
Jan 9 '18 at 9:09
rabbitmqctl purge_queue
worked here manually. I only needed to add -p <virtual-host>
– Roman Susi
Feb 1 '18 at 8:38
There is no
delete_queue
nor purge_queue
commands in rabbitmqctl
. I would like to purge a lot of queues that seem to be automatically generated and I would not like to install extra software like rabbitmqadmin
...– Rolice
Jan 9 '18 at 9:09
There is no
delete_queue
nor purge_queue
commands in rabbitmqctl
. I would like to purge a lot of queues that seem to be automatically generated and I would not like to install extra software like rabbitmqadmin
...– Rolice
Jan 9 '18 at 9:09
rabbitmqctl purge_queue
worked here manually. I only needed to add -p <virtual-host>– Roman Susi
Feb 1 '18 at 8:38
rabbitmqctl purge_queue
worked here manually. I only needed to add -p <virtual-host>– Roman Susi
Feb 1 '18 at 8:38
add a comment |
Here is a way to do it with PowerShell. the URL may need to be updated
$cred = Get-Credential
iwr -ContentType 'application/json' -Method Get -Credential $cred 'http://localhost:15672/api/queues' | % {
ConvertFrom-Json $_.Content } | % { $_ } | ? { $_.messages -gt 0} | % {
iwr -method DELETE -Credential $cred -uri $("http://localhost:15672/api/queues/{0}/{1}" -f [System.Web.HttpUtility]::UrlEncode($_.vhost), $_.name)
}
Note, this only deletes non-empty queues. Remove the -gt clause to delete all queues
– Peter Goodman
Mar 17 '15 at 1:27
add a comment |
Here is a way to do it with PowerShell. the URL may need to be updated
$cred = Get-Credential
iwr -ContentType 'application/json' -Method Get -Credential $cred 'http://localhost:15672/api/queues' | % {
ConvertFrom-Json $_.Content } | % { $_ } | ? { $_.messages -gt 0} | % {
iwr -method DELETE -Credential $cred -uri $("http://localhost:15672/api/queues/{0}/{1}" -f [System.Web.HttpUtility]::UrlEncode($_.vhost), $_.name)
}
Note, this only deletes non-empty queues. Remove the -gt clause to delete all queues
– Peter Goodman
Mar 17 '15 at 1:27
add a comment |
Here is a way to do it with PowerShell. the URL may need to be updated
$cred = Get-Credential
iwr -ContentType 'application/json' -Method Get -Credential $cred 'http://localhost:15672/api/queues' | % {
ConvertFrom-Json $_.Content } | % { $_ } | ? { $_.messages -gt 0} | % {
iwr -method DELETE -Credential $cred -uri $("http://localhost:15672/api/queues/{0}/{1}" -f [System.Web.HttpUtility]::UrlEncode($_.vhost), $_.name)
}
Here is a way to do it with PowerShell. the URL may need to be updated
$cred = Get-Credential
iwr -ContentType 'application/json' -Method Get -Credential $cred 'http://localhost:15672/api/queues' | % {
ConvertFrom-Json $_.Content } | % { $_ } | ? { $_.messages -gt 0} | % {
iwr -method DELETE -Credential $cred -uri $("http://localhost:15672/api/queues/{0}/{1}" -f [System.Web.HttpUtility]::UrlEncode($_.vhost), $_.name)
}
answered Nov 20 '14 at 2:23
klumsyklumsy
1,79542239
1,79542239
Note, this only deletes non-empty queues. Remove the -gt clause to delete all queues
– Peter Goodman
Mar 17 '15 at 1:27
add a comment |
Note, this only deletes non-empty queues. Remove the -gt clause to delete all queues
– Peter Goodman
Mar 17 '15 at 1:27
Note, this only deletes non-empty queues. Remove the -gt clause to delete all queues
– Peter Goodman
Mar 17 '15 at 1:27
Note, this only deletes non-empty queues. Remove the -gt clause to delete all queues
– Peter Goodman
Mar 17 '15 at 1:27
add a comment |
You can use rabbitmqctl eval as below:
rabbitmqctl eval 'IfUnused = false, IfEmpty = true, MatchRegex =
<<"^prefix-">>, [rabbit_amqqueue:delete(Q, IfUnused, IfEmpty) || Q <-
rabbit_amqqueue:list(), re:run(element(4, element(2, Q)), MatchRegex)
=/= nomatch ].'
The above will delete all empty queues in all vhosts that have a name
beginning with "prefix-".
You can edit the variables IfUnused, IfEmpty,
and MatchRegex as per your requirement.
Perfect for whenrabbitmqadmin
is not accessible.
– NuSkooler
Aug 24 '16 at 19:59
add a comment |
You can use rabbitmqctl eval as below:
rabbitmqctl eval 'IfUnused = false, IfEmpty = true, MatchRegex =
<<"^prefix-">>, [rabbit_amqqueue:delete(Q, IfUnused, IfEmpty) || Q <-
rabbit_amqqueue:list(), re:run(element(4, element(2, Q)), MatchRegex)
=/= nomatch ].'
The above will delete all empty queues in all vhosts that have a name
beginning with "prefix-".
You can edit the variables IfUnused, IfEmpty,
and MatchRegex as per your requirement.
Perfect for whenrabbitmqadmin
is not accessible.
– NuSkooler
Aug 24 '16 at 19:59
add a comment |
You can use rabbitmqctl eval as below:
rabbitmqctl eval 'IfUnused = false, IfEmpty = true, MatchRegex =
<<"^prefix-">>, [rabbit_amqqueue:delete(Q, IfUnused, IfEmpty) || Q <-
rabbit_amqqueue:list(), re:run(element(4, element(2, Q)), MatchRegex)
=/= nomatch ].'
The above will delete all empty queues in all vhosts that have a name
beginning with "prefix-".
You can edit the variables IfUnused, IfEmpty,
and MatchRegex as per your requirement.
You can use rabbitmqctl eval as below:
rabbitmqctl eval 'IfUnused = false, IfEmpty = true, MatchRegex =
<<"^prefix-">>, [rabbit_amqqueue:delete(Q, IfUnused, IfEmpty) || Q <-
rabbit_amqqueue:list(), re:run(element(4, element(2, Q)), MatchRegex)
=/= nomatch ].'
The above will delete all empty queues in all vhosts that have a name
beginning with "prefix-".
You can edit the variables IfUnused, IfEmpty,
and MatchRegex as per your requirement.
answered Aug 19 '16 at 10:59
George NinanGeorge Ninan
799177
799177
Perfect for whenrabbitmqadmin
is not accessible.
– NuSkooler
Aug 24 '16 at 19:59
add a comment |
Perfect for whenrabbitmqadmin
is not accessible.
– NuSkooler
Aug 24 '16 at 19:59
Perfect for when
rabbitmqadmin
is not accessible.– NuSkooler
Aug 24 '16 at 19:59
Perfect for when
rabbitmqadmin
is not accessible.– NuSkooler
Aug 24 '16 at 19:59
add a comment |
Removing all queues using rabbitmqctl one liner
rabbitmqctl list_queues | awk '{ print $1 }' | sed 's/Listing//' | xargs -L1 rabbitmqctl purge_queue
add a comment |
Removing all queues using rabbitmqctl one liner
rabbitmqctl list_queues | awk '{ print $1 }' | sed 's/Listing//' | xargs -L1 rabbitmqctl purge_queue
add a comment |
Removing all queues using rabbitmqctl one liner
rabbitmqctl list_queues | awk '{ print $1 }' | sed 's/Listing//' | xargs -L1 rabbitmqctl purge_queue
Removing all queues using rabbitmqctl one liner
rabbitmqctl list_queues | awk '{ print $1 }' | sed 's/Listing//' | xargs -L1 rabbitmqctl purge_queue
answered Jan 31 '18 at 5:00
MarianMarian
699
699
add a comment |
add a comment |
In case you only want to purge the queues which are not empty (a lot faster):
rabbitmqctl list_queues | awk '$2!=0 { print $1 }' | sed 's/Listing//' | xargs -L1 rabbitmqctl purge_queue
For me, it takes 2-3 seconds to purge a queue (both empty and non-empty ones), so iterating through 50 queues is such a pain while I just need to purge 10 of them (40/50 are empty).
1
the command works perfectly - thank you very much
– Viorel Florian
Oct 21 '18 at 8:20
add a comment |
In case you only want to purge the queues which are not empty (a lot faster):
rabbitmqctl list_queues | awk '$2!=0 { print $1 }' | sed 's/Listing//' | xargs -L1 rabbitmqctl purge_queue
For me, it takes 2-3 seconds to purge a queue (both empty and non-empty ones), so iterating through 50 queues is such a pain while I just need to purge 10 of them (40/50 are empty).
1
the command works perfectly - thank you very much
– Viorel Florian
Oct 21 '18 at 8:20
add a comment |
In case you only want to purge the queues which are not empty (a lot faster):
rabbitmqctl list_queues | awk '$2!=0 { print $1 }' | sed 's/Listing//' | xargs -L1 rabbitmqctl purge_queue
For me, it takes 2-3 seconds to purge a queue (both empty and non-empty ones), so iterating through 50 queues is such a pain while I just need to purge 10 of them (40/50 are empty).
In case you only want to purge the queues which are not empty (a lot faster):
rabbitmqctl list_queues | awk '$2!=0 { print $1 }' | sed 's/Listing//' | xargs -L1 rabbitmqctl purge_queue
For me, it takes 2-3 seconds to purge a queue (both empty and non-empty ones), so iterating through 50 queues is such a pain while I just need to purge 10 of them (40/50 are empty).
answered Mar 30 '18 at 15:21
Duc TranDuc Tran
3,35332335
3,35332335
1
the command works perfectly - thank you very much
– Viorel Florian
Oct 21 '18 at 8:20
add a comment |
1
the command works perfectly - thank you very much
– Viorel Florian
Oct 21 '18 at 8:20
1
1
the command works perfectly - thank you very much
– Viorel Florian
Oct 21 '18 at 8:20
the command works perfectly - thank you very much
– Viorel Florian
Oct 21 '18 at 8:20
add a comment |
To list queues,
./rabbitmqadmin -f tsv -q list queues
To delete a queue,
./rabbitmqadmin delete queue name=name_of_queue
add a comment |
To list queues,
./rabbitmqadmin -f tsv -q list queues
To delete a queue,
./rabbitmqadmin delete queue name=name_of_queue
add a comment |
To list queues,
./rabbitmqadmin -f tsv -q list queues
To delete a queue,
./rabbitmqadmin delete queue name=name_of_queue
To list queues,
./rabbitmqadmin -f tsv -q list queues
To delete a queue,
./rabbitmqadmin delete queue name=name_of_queue
edited Nov 19 '18 at 18:52
Wayne Phipps
1,14341929
1,14341929
answered Nov 19 '18 at 16:41
Isuru DewasurendraIsuru Dewasurendra
664
664
add a comment |
add a comment |
Here is a faster version (using parallel
install sudo apt-get install parallel) expanding on the excellent answer by @admenva
parallel -j 50 rabbitmqadmin -H YOUR_HOST_OR_LOCALHOST -q delete queue name={} ::: $(rabbitmqadmin -H YOUR_HOST_OR_LOCALHOST -f tsv -q list queues name)
add a comment |
Here is a faster version (using parallel
install sudo apt-get install parallel) expanding on the excellent answer by @admenva
parallel -j 50 rabbitmqadmin -H YOUR_HOST_OR_LOCALHOST -q delete queue name={} ::: $(rabbitmqadmin -H YOUR_HOST_OR_LOCALHOST -f tsv -q list queues name)
add a comment |
Here is a faster version (using parallel
install sudo apt-get install parallel) expanding on the excellent answer by @admenva
parallel -j 50 rabbitmqadmin -H YOUR_HOST_OR_LOCALHOST -q delete queue name={} ::: $(rabbitmqadmin -H YOUR_HOST_OR_LOCALHOST -f tsv -q list queues name)
Here is a faster version (using parallel
install sudo apt-get install parallel) expanding on the excellent answer by @admenva
parallel -j 50 rabbitmqadmin -H YOUR_HOST_OR_LOCALHOST -q delete queue name={} ::: $(rabbitmqadmin -H YOUR_HOST_OR_LOCALHOST -f tsv -q list queues name)
answered Mar 15 '15 at 15:45
alonisseralonisser
4,5811361105
4,5811361105
add a comment |
add a comment |
This commands deletes all your queues
python rabbitmqadmin.py
-H YOURHOST -u guest -p guest -f bash list queues |
xargs -n1 |
xargs -I{}
python rabbitmqadmin.py -H YOURHOST -u guest -p guest delete queue name={}
This script is super simple because it uses -f bash
, which outputs the queues as a list.
Then we use xargs -n1
to split that up into multiple variables
Then we use xargs -I{}
that will run the command following, and replace {}
in the command.
I've tried like 10 different answers, and this is the ONLY thing that has actually worked to delete queues without killing all my other settings. Thanks! I can't believe rabbitmqctl doesn't just have a "drop all queues" command.
– sudo
Aug 1 '16 at 19:52
BTW, to get rabbitmqadmin, you need to go tohttp://yourhost:15672/cli/
and download it.
– sudo
Aug 1 '16 at 19:54
add a comment |
This commands deletes all your queues
python rabbitmqadmin.py
-H YOURHOST -u guest -p guest -f bash list queues |
xargs -n1 |
xargs -I{}
python rabbitmqadmin.py -H YOURHOST -u guest -p guest delete queue name={}
This script is super simple because it uses -f bash
, which outputs the queues as a list.
Then we use xargs -n1
to split that up into multiple variables
Then we use xargs -I{}
that will run the command following, and replace {}
in the command.
I've tried like 10 different answers, and this is the ONLY thing that has actually worked to delete queues without killing all my other settings. Thanks! I can't believe rabbitmqctl doesn't just have a "drop all queues" command.
– sudo
Aug 1 '16 at 19:52
BTW, to get rabbitmqadmin, you need to go tohttp://yourhost:15672/cli/
and download it.
– sudo
Aug 1 '16 at 19:54
add a comment |
This commands deletes all your queues
python rabbitmqadmin.py
-H YOURHOST -u guest -p guest -f bash list queues |
xargs -n1 |
xargs -I{}
python rabbitmqadmin.py -H YOURHOST -u guest -p guest delete queue name={}
This script is super simple because it uses -f bash
, which outputs the queues as a list.
Then we use xargs -n1
to split that up into multiple variables
Then we use xargs -I{}
that will run the command following, and replace {}
in the command.
This commands deletes all your queues
python rabbitmqadmin.py
-H YOURHOST -u guest -p guest -f bash list queues |
xargs -n1 |
xargs -I{}
python rabbitmqadmin.py -H YOURHOST -u guest -p guest delete queue name={}
This script is super simple because it uses -f bash
, which outputs the queues as a list.
Then we use xargs -n1
to split that up into multiple variables
Then we use xargs -I{}
that will run the command following, and replace {}
in the command.
answered Sep 18 '15 at 9:26
Kevin SimperKevin Simper
1,2001425
1,2001425
I've tried like 10 different answers, and this is the ONLY thing that has actually worked to delete queues without killing all my other settings. Thanks! I can't believe rabbitmqctl doesn't just have a "drop all queues" command.
– sudo
Aug 1 '16 at 19:52
BTW, to get rabbitmqadmin, you need to go tohttp://yourhost:15672/cli/
and download it.
– sudo
Aug 1 '16 at 19:54
add a comment |
I've tried like 10 different answers, and this is the ONLY thing that has actually worked to delete queues without killing all my other settings. Thanks! I can't believe rabbitmqctl doesn't just have a "drop all queues" command.
– sudo
Aug 1 '16 at 19:52
BTW, to get rabbitmqadmin, you need to go tohttp://yourhost:15672/cli/
and download it.
– sudo
Aug 1 '16 at 19:54
I've tried like 10 different answers, and this is the ONLY thing that has actually worked to delete queues without killing all my other settings. Thanks! I can't believe rabbitmqctl doesn't just have a "drop all queues" command.
– sudo
Aug 1 '16 at 19:52
I've tried like 10 different answers, and this is the ONLY thing that has actually worked to delete queues without killing all my other settings. Thanks! I can't believe rabbitmqctl doesn't just have a "drop all queues" command.
– sudo
Aug 1 '16 at 19:52
BTW, to get rabbitmqadmin, you need to go to
http://yourhost:15672/cli/
and download it.– sudo
Aug 1 '16 at 19:54
BTW, to get rabbitmqadmin, you need to go to
http://yourhost:15672/cli/
and download it.– sudo
Aug 1 '16 at 19:54
add a comment |
You need not reset rabbitmq server to delete non-durable queues. Simply stop the server and start again and it will remove all the non-durable queues available.
including durable queues? I don't think so. I'll qualify your answer.
– Hendy Irawan
Nov 26 '15 at 8:38
No, durable queues cannot be deleted by stopping the server. They can be deleted from RabbitMQ Management web interface under queues.
– ErAcube
Nov 26 '15 at 9:48
Actually yes, this helped me and all about 4500 automatically generated queues are gone. It seems that these were non-durable ones. Thanks!
– Rolice
Jan 9 '18 at 9:12
add a comment |
You need not reset rabbitmq server to delete non-durable queues. Simply stop the server and start again and it will remove all the non-durable queues available.
including durable queues? I don't think so. I'll qualify your answer.
– Hendy Irawan
Nov 26 '15 at 8:38
No, durable queues cannot be deleted by stopping the server. They can be deleted from RabbitMQ Management web interface under queues.
– ErAcube
Nov 26 '15 at 9:48
Actually yes, this helped me and all about 4500 automatically generated queues are gone. It seems that these were non-durable ones. Thanks!
– Rolice
Jan 9 '18 at 9:12
add a comment |
You need not reset rabbitmq server to delete non-durable queues. Simply stop the server and start again and it will remove all the non-durable queues available.
You need not reset rabbitmq server to delete non-durable queues. Simply stop the server and start again and it will remove all the non-durable queues available.
edited Nov 26 '15 at 8:38
Hendy Irawan
12.3k77586
12.3k77586
answered Oct 29 '15 at 9:23
ErAcubeErAcube
1,0261814
1,0261814
including durable queues? I don't think so. I'll qualify your answer.
– Hendy Irawan
Nov 26 '15 at 8:38
No, durable queues cannot be deleted by stopping the server. They can be deleted from RabbitMQ Management web interface under queues.
– ErAcube
Nov 26 '15 at 9:48
Actually yes, this helped me and all about 4500 automatically generated queues are gone. It seems that these were non-durable ones. Thanks!
– Rolice
Jan 9 '18 at 9:12
add a comment |
including durable queues? I don't think so. I'll qualify your answer.
– Hendy Irawan
Nov 26 '15 at 8:38
No, durable queues cannot be deleted by stopping the server. They can be deleted from RabbitMQ Management web interface under queues.
– ErAcube
Nov 26 '15 at 9:48
Actually yes, this helped me and all about 4500 automatically generated queues are gone. It seems that these were non-durable ones. Thanks!
– Rolice
Jan 9 '18 at 9:12
including durable queues? I don't think so. I'll qualify your answer.
– Hendy Irawan
Nov 26 '15 at 8:38
including durable queues? I don't think so. I'll qualify your answer.
– Hendy Irawan
Nov 26 '15 at 8:38
No, durable queues cannot be deleted by stopping the server. They can be deleted from RabbitMQ Management web interface under queues.
– ErAcube
Nov 26 '15 at 9:48
No, durable queues cannot be deleted by stopping the server. They can be deleted from RabbitMQ Management web interface under queues.
– ErAcube
Nov 26 '15 at 9:48
Actually yes, this helped me and all about 4500 automatically generated queues are gone. It seems that these were non-durable ones. Thanks!
– Rolice
Jan 9 '18 at 9:12
Actually yes, this helped me and all about 4500 automatically generated queues are gone. It seems that these were non-durable ones. Thanks!
– Rolice
Jan 9 '18 at 9:12
add a comment |
There's a way to remove all queues and exchanges without scripts and full reset. You can just delete and re-create a virtual host from admin interface. This will work even for vhost /
.
The only thing you'll need to restore is permissions for the newly created vhost.
add a comment |
There's a way to remove all queues and exchanges without scripts and full reset. You can just delete and re-create a virtual host from admin interface. This will work even for vhost /
.
The only thing you'll need to restore is permissions for the newly created vhost.
add a comment |
There's a way to remove all queues and exchanges without scripts and full reset. You can just delete and re-create a virtual host from admin interface. This will work even for vhost /
.
The only thing you'll need to restore is permissions for the newly created vhost.
There's a way to remove all queues and exchanges without scripts and full reset. You can just delete and re-create a virtual host from admin interface. This will work even for vhost /
.
The only thing you'll need to restore is permissions for the newly created vhost.
answered Nov 11 '15 at 9:47
starteleportstarteleport
7671720
7671720
add a comment |
add a comment |
Okay, important qualifier for this answer:
The question does ask to use either rabbitmqctl OR rabbitmqadmin to solve this, my answer needed to use both. Also, note that this was tested on MacOS 10.12.6 and the versions of the rabbitmqctl and rabbitmqadmin that are installed when installing rabbitmq with Homebrew and which is identified with brew list --versions
as rabbitmq 3.7.0
rabbitmqctl list_queues -p <VIRTUAL_HOSTNAME> name | sed 1,2d | xargs -I qname rabbitmqadmin --vhost <VIRTUAL_HOSTNAME> delete queue name=qname
add a comment |
Okay, important qualifier for this answer:
The question does ask to use either rabbitmqctl OR rabbitmqadmin to solve this, my answer needed to use both. Also, note that this was tested on MacOS 10.12.6 and the versions of the rabbitmqctl and rabbitmqadmin that are installed when installing rabbitmq with Homebrew and which is identified with brew list --versions
as rabbitmq 3.7.0
rabbitmqctl list_queues -p <VIRTUAL_HOSTNAME> name | sed 1,2d | xargs -I qname rabbitmqadmin --vhost <VIRTUAL_HOSTNAME> delete queue name=qname
add a comment |
Okay, important qualifier for this answer:
The question does ask to use either rabbitmqctl OR rabbitmqadmin to solve this, my answer needed to use both. Also, note that this was tested on MacOS 10.12.6 and the versions of the rabbitmqctl and rabbitmqadmin that are installed when installing rabbitmq with Homebrew and which is identified with brew list --versions
as rabbitmq 3.7.0
rabbitmqctl list_queues -p <VIRTUAL_HOSTNAME> name | sed 1,2d | xargs -I qname rabbitmqadmin --vhost <VIRTUAL_HOSTNAME> delete queue name=qname
Okay, important qualifier for this answer:
The question does ask to use either rabbitmqctl OR rabbitmqadmin to solve this, my answer needed to use both. Also, note that this was tested on MacOS 10.12.6 and the versions of the rabbitmqctl and rabbitmqadmin that are installed when installing rabbitmq with Homebrew and which is identified with brew list --versions
as rabbitmq 3.7.0
rabbitmqctl list_queues -p <VIRTUAL_HOSTNAME> name | sed 1,2d | xargs -I qname rabbitmqadmin --vhost <VIRTUAL_HOSTNAME> delete queue name=qname
answered Jan 12 '18 at 18:40
Brett TofelBrett Tofel
362
362
add a comment |
add a comment |
I tried rabbitmqctl and reset commands but they are very slow.
This is the fastest way I found (replace your username and password):
#!/bin/bash
# Stop on error
set -eo pipefail
USER='guest'
PASSWORD='guest'
curl -sSL -u $USER:$PASSWORD http://localhost:15672/api/queues/%2f/ | jq '..name' | sed 's/"//g' | xargs -L 1 -I@ curl -XDELETE -sSL -u $USER:$PASSWORD http://localhost:15672/api/queues/%2f/@
# To also delete exchanges uncomment next line
# curl -sSL -u $USER:$PASSWORD http://localhost:15672/api/exchanges/%2f/ | jq '..name' | sed 's/"//g' | xargs -L 1 -I@ curl -XDELETE -sSL -u $USER:$PASSWORD http://localhost:15672/api/exchanges/%2f/@
Note: This only works with the default vhost /
add a comment |
I tried rabbitmqctl and reset commands but they are very slow.
This is the fastest way I found (replace your username and password):
#!/bin/bash
# Stop on error
set -eo pipefail
USER='guest'
PASSWORD='guest'
curl -sSL -u $USER:$PASSWORD http://localhost:15672/api/queues/%2f/ | jq '..name' | sed 's/"//g' | xargs -L 1 -I@ curl -XDELETE -sSL -u $USER:$PASSWORD http://localhost:15672/api/queues/%2f/@
# To also delete exchanges uncomment next line
# curl -sSL -u $USER:$PASSWORD http://localhost:15672/api/exchanges/%2f/ | jq '..name' | sed 's/"//g' | xargs -L 1 -I@ curl -XDELETE -sSL -u $USER:$PASSWORD http://localhost:15672/api/exchanges/%2f/@
Note: This only works with the default vhost /
add a comment |
I tried rabbitmqctl and reset commands but they are very slow.
This is the fastest way I found (replace your username and password):
#!/bin/bash
# Stop on error
set -eo pipefail
USER='guest'
PASSWORD='guest'
curl -sSL -u $USER:$PASSWORD http://localhost:15672/api/queues/%2f/ | jq '..name' | sed 's/"//g' | xargs -L 1 -I@ curl -XDELETE -sSL -u $USER:$PASSWORD http://localhost:15672/api/queues/%2f/@
# To also delete exchanges uncomment next line
# curl -sSL -u $USER:$PASSWORD http://localhost:15672/api/exchanges/%2f/ | jq '..name' | sed 's/"//g' | xargs -L 1 -I@ curl -XDELETE -sSL -u $USER:$PASSWORD http://localhost:15672/api/exchanges/%2f/@
Note: This only works with the default vhost /
I tried rabbitmqctl and reset commands but they are very slow.
This is the fastest way I found (replace your username and password):
#!/bin/bash
# Stop on error
set -eo pipefail
USER='guest'
PASSWORD='guest'
curl -sSL -u $USER:$PASSWORD http://localhost:15672/api/queues/%2f/ | jq '..name' | sed 's/"//g' | xargs -L 1 -I@ curl -XDELETE -sSL -u $USER:$PASSWORD http://localhost:15672/api/queues/%2f/@
# To also delete exchanges uncomment next line
# curl -sSL -u $USER:$PASSWORD http://localhost:15672/api/exchanges/%2f/ | jq '..name' | sed 's/"//g' | xargs -L 1 -I@ curl -XDELETE -sSL -u $USER:$PASSWORD http://localhost:15672/api/exchanges/%2f/@
Note: This only works with the default vhost /
answered Apr 25 '18 at 14:50
Aalex GabiAalex Gabi
73911026
73911026
add a comment |
add a comment |
Another option is to delete the vhost associated with the queues. This will delete everything associated with the vhost, so be warned, but it is easy and fast.
NOTE: the RabbitMQ team monitors the rabbitmq-users
mailing list and only sometimes answers questions on StackOverflow.
add a comment |
Another option is to delete the vhost associated with the queues. This will delete everything associated with the vhost, so be warned, but it is easy and fast.
NOTE: the RabbitMQ team monitors the rabbitmq-users
mailing list and only sometimes answers questions on StackOverflow.
add a comment |
Another option is to delete the vhost associated with the queues. This will delete everything associated with the vhost, so be warned, but it is easy and fast.
NOTE: the RabbitMQ team monitors the rabbitmq-users
mailing list and only sometimes answers questions on StackOverflow.
Another option is to delete the vhost associated with the queues. This will delete everything associated with the vhost, so be warned, but it is easy and fast.
NOTE: the RabbitMQ team monitors the rabbitmq-users
mailing list and only sometimes answers questions on StackOverflow.
answered Dec 22 '18 at 16:22
Luke BakkenLuke Bakken
3,0072915
3,0072915
add a comment |
add a comment |
rabbitmqadmin list queues|awk 'NR>3{print $4}'|head -n-1|xargs -I qname rabbitmqadmin delete queue name=qname
1
I receive this when running it: head: illegal line count -- -1
– Robert Ross
Feb 25 '14 at 17:20
The "head -n-1" should be either "head -1" or "head -n 1"
– Gerd Busker
Jun 30 '14 at 11:14
add a comment |
rabbitmqadmin list queues|awk 'NR>3{print $4}'|head -n-1|xargs -I qname rabbitmqadmin delete queue name=qname
1
I receive this when running it: head: illegal line count -- -1
– Robert Ross
Feb 25 '14 at 17:20
The "head -n-1" should be either "head -1" or "head -n 1"
– Gerd Busker
Jun 30 '14 at 11:14
add a comment |
rabbitmqadmin list queues|awk 'NR>3{print $4}'|head -n-1|xargs -I qname rabbitmqadmin delete queue name=qname
rabbitmqadmin list queues|awk 'NR>3{print $4}'|head -n-1|xargs -I qname rabbitmqadmin delete queue name=qname
answered Feb 20 '14 at 11:22
SalamiSalami
1,2101526
1,2101526
1
I receive this when running it: head: illegal line count -- -1
– Robert Ross
Feb 25 '14 at 17:20
The "head -n-1" should be either "head -1" or "head -n 1"
– Gerd Busker
Jun 30 '14 at 11:14
add a comment |
1
I receive this when running it: head: illegal line count -- -1
– Robert Ross
Feb 25 '14 at 17:20
The "head -n-1" should be either "head -1" or "head -n 1"
– Gerd Busker
Jun 30 '14 at 11:14
1
1
I receive this when running it: head: illegal line count -- -1
– Robert Ross
Feb 25 '14 at 17:20
I receive this when running it: head: illegal line count -- -1
– Robert Ross
Feb 25 '14 at 17:20
The "head -n-1" should be either "head -1" or "head -n 1"
– Gerd Busker
Jun 30 '14 at 11:14
The "head -n-1" should be either "head -1" or "head -n 1"
– Gerd Busker
Jun 30 '14 at 11:14
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f11459676%2fdelete-all-the-queues-from-rabbitmq%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown