RabbitMQ - невозможно удалить очередь, потому что очередь не может быть найдена - PullRequest
0 голосов
/ 04 июля 2018

За ночь наши очереди RabbitMQ наполнились. Узлу в основном не хватило места. Однако сейчас RabbitMQ на самом деле не работает. Ни один компонент не может установить соединение с ним, потому что он блокирует соединения. Я хочу освободить место под ним, но когда я пытаюсь очистить очередь через интерфейс администратора, я получаю следующую ошибку:

NOT_FOUND - нет очереди 'sharding: sharded_queue - rabbit @ hostname - 0' во vhost '/'

Если я попытаюсь перечислить очереди с помощью инструмента командной строки, они не будут перечислены. Эти задания видны только в данный момент через графический интерфейс, но я никак не могу с ними взаимодействовать. Удалить тоже не работает.

Есть ли способ, обходной путь для очистки очередей? Должен ли я найти реальные сообщения, хранящиеся на диске, и удалить их?

Обновление

Я нашел следующую команду в этом потоке:

rabbitmqctl eval 'Q = {resource, <<"/">>, queue, <<"sharding: sharded_queue - rabbit@hostname - 0">>}, rabbit_amqqueue:internal_delete(Q).'

Это фактически удаляет очередь. Это больше не отображается в графическом интерфейсе. Однако дисковое пространство все еще не освобождено, что является огромной проблемой.

...