Xóa các crashed queue trong RabbitMQ

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.

  1. Khởi động lại (các) node của RabbitMQ.

  2. 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

#devops #sysadmin #rabbitmq