Я использую RabbitMQ для ежедневных транзакций. Мои потребители - это настольные приложения .Net, развернутые на нескольких компьютерах. Каждый день транзакции переносятся в очередь только в течение определенного времени. Кроме того, для любой новой транзакции должна быть сложная остановка. Мне удалось прекратить отправку новой транзакции в очередь. Тем не менее, существующие транзакции в очереди также необходимо очистить, чтобы они не были отправлены ни одному пользователю. я попытался найти это, но не получил никакого решения для очистки очереди, за исключением двух options-Очистить очередь в RabbitMQ
- Удалить и заново создать очередь каждый день
- Остановить все потребители очереди
Оба эти подхода могут быть реализованы, но это требует значительных изменений в моих системах. Я хочу знать, есть ли лучший подход.
Вы пытались использовать эту функцию: https://www.rabbitmq.com/ttl.html –
Спасибо Я проверить это. –
У вас есть функция в 'rabbitmqadmin' для очистки очередей,' quebitmqadmin purge queue name = queue_name'. Несмотря на то, что это не было бы изощренно сделано в вашей базе кода, это означало бы, что вам не нужно удалять очереди или останавливать потребителей. –