Xóa các crashed queue trong RabbitMQ
Vấn đề
Đôi khi với RabbitMQ ta gặp 1 số queue mà khi sử dụng Management Plugin để xóa theo cách thông thường sẽ bị lỗi timeout, không thể xóa được.
Cách giải quyết
Có 2 cách giải quyết cho vấn đề này.
Khởi động lại (các) node của RabbitMQ.
Nếu khởi động lại không giải quyết được vấn đề, hãy thử sử dụng command sau:
rabbitmqctl eval '{ok, Q} = rabbit_amqqueue:lookup(rabbit_misc:r(<<"VHOST">>, queue, <<"QUEUE">>)), rabbit_amqqueue:delete_crashed(Q).'
Trong đó:
* VHOST
: vhost của bạn
* QUEUE
: queue cần xóa