За ночь наши очереди 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).'
Это фактически удаляет очередь. Это больше не отображается в графическом интерфейсе. Однако дисковое пространство все еще не освобождено, что является огромной проблемой.