skip to content
Alvin Lucillo

Durable queue

/ 1 min read

A durable queue means the queue is retained even after restarting the rabbitmq service. In the example below, queue1 survived rabbitmq restart but queue2 did not.

➜ docker exec -it rabbitmq rabbitmqadmin declare queue --name=queue1 --durable=true

➜ docker exec -it rabbitmq rabbitmqctl list_queues
Timeout: 60.0 seconds ...
Listing queues for vhost / ...
name    messages
queue1  0

➜ docker stop rabbitmq
rabbitmq

➜ docker start rabbitmq
rabbitmq

➜ docker exec -it rabbitmq rabbitmqctl list_queues
Timeout: 60.0 seconds ...
Listing queues for vhost / ...
name    messages
queue1  0

➜ docker exec -it rabbitmq rabbitmqadmin declare queue --name=queue2 --durable=false

➜ docker exec -it rabbitmq rabbitmqctl list_queues
Timeout: 60.0 seconds ...
Listing queues for vhost / ...
name    messages
queue1  0
queue2  0

➜ docker stop rabbitmq
rabbitmq

➜ docker start rabbitmq
rabbitmq

➜ docker exec -it rabbitmq rabbitmqctl list_queues
Timeout: 60.0 seconds ...
Listing queues for vhost / ...
name    messages
queue1  0