
A shovel is used to move a message from a queue or exchange to a different queue or exchage. The queues or exchanges can reside on the same RabbitMQ node or on different RabbitMQ nodes.
AVOID TROUBLE
There are two types of shovels.
- Dynamic - Created using the rabbitmqctl set_parameter command, or using the RabbitMQ REST API, or using the RabbitMQ web browser console, or using Terraform (this article)
- Static - defined in advanced.config, node must be restarted to create/delete a static shovel
Only a dynamic shovel can be deleted using the rabbitmqctl clear_parameter command.
The rabbitmqctl command with the delete_shovel option can be used to delete a dynamic shovel.
rabbitmqctl delete_shovel shovel001
Optionally, the -p or --vhost option can be used to specify the virtual host.
rabbitmqctl delete_shovel --vhost vhost001 shovel001
If something like this is returned, use the rabbitmqctl list_parameters command to ensure the parameter exists.
Deleting shovel shovel001 in vhost vhost001
Error:
Parameter does not exist
Or like this.
rabbitmqctl eval "rabbit_shovel_status:remove({'vhost001','shovel001'})."
If the shovel is still showing at Shovel Status in the RabbitMQ web browser console, you may need to restart the RabbitMQ service to get the shovel to no longer show at Shovel Status in the web browser console.
Did you find this article helpful?
If so, consider buying me a coffee over at