Я изучал плагин лопаты для перемещения сообщений из источника во временные очереди как часть более крупного варианта использования. Я создавал лопату Dynami c для каждой очереди, чтобы переместить сообщения во временную очередь и удалить лопату Dynami c, используя атрибут "delete-after": "queue-length" . Я видел в консоли управления RabbitMQ (Admin-> Shovel status), что лопата Dynami c была успешно удалена, но состояние исходных / временных очередей было запущено.
Но проблема заключалась в том, что когда новые сообщения поступали в исходные очереди, они автоматически перемещались во временные очереди, даже если не было потребителя исходной очереди.
Примечание:
- Исходная и временная обе очереди являются долговечными.
- Сообщения постоянны (режим доставки: 2)
- Указанная операция выполнялась параллельно, как и там сотни очередей. Я создал динамическую c лопату для каждой очереди и удалил их.
Пока я удаляю динамическую c лопату, используя вместо этого DELETE HTTP API описанного выше подхода, он работает отлично. Я хочу избежать дополнительных HTTP-вызовов, поскольку количество исходных очередей составляет сотни.