I generalized the JavaScript / jQuery Piotr Stapp method a little further, encapsulating it in a function and generalizing it a bit.
This function uses the RabbitMQ HTTP API to query for available queues in the given vhost , and then removes them based on the optional queuePrefix :
function deleteQueues(vhost, queuePrefix) { if (vhost === '/') vhost = '%2F'; // html encode forward slashes $.ajax({ url: '/api/queues/'+vhost, success: function(result) { $.each(result, function(i, queue) { if (queuePrefix && !queue.name.startsWith(queuePrefix)) return true; $.ajax({ url: '/api/queues/'+vhost+'/'+queue.name, type: 'DELETE', success: function(result) { console.log('deleted '+ queue.name)} }); }); } }); };
Once you insert this function into your browser JavaScript console while on the RabbitMQ control page, you can use it as follows:
Delete all queues in '/' vhost
deleteQueues('/');
Delete all queues in '/' vhost starting with 'test'
deleteQueues('/', 'test');
Delete all queues in 'dev' vhost starting with 'foo'
deleteQueues('dev', 'foo');
Please use this at your own risk!
Josh Purvis Jan 14 '16 at 20:19 2016-01-14 20:19
source share