Есть ли способ поместить сообщение в очередь? Я получаю заголовок своего пакета и проверяю на нем какой-то шаблон, и когда этот шаблон терпит неудачу, я хочу его отбросить. Есть ли способ для этого? Как это сделать?
Как удалить сообщение в rabbitMQ?
Ответы (1)
В RabbitMQ сообщения публикуются на биржах и доставляются в очереди. Вы можете настроить обмен, который отбрасывает сообщения, соответствующие некоторым шаблонам заголовков. Обмен заголовками. Или вы можете перечислить очередь и подтвердить сообщение, которое соответствует вашему шаблону, не предпринимая никаких дополнительных действий, что эквивалентно удалению сообщения.
person
Raul Andres
schedule
06.08.2014
Неподтвержденные пакеты отбрасываются? Это то, что вы говорите? Разве они не возвращены?
- person Alireza; 06.08.2014
Нет, подтвержденные пакеты сбрасываются с Rabbit. Отклоненные пакеты доставляются повторно. Если вы хотите отбросить пакет, просто отправьте ему ACK.
- person Raul Andres; 06.08.2014
Итак, несоответствующие шаблоны должны быть подтверждены, чтобы их можно было удалить? Я думаю, что я немного на темной стороне.
- person Alireza; 06.08.2014
Это идея. Если вы обрабатываете заголовки на стороне очереди, подтвердите те, которые вы хотите удалить.
- person Raul Andres; 06.08.2014
Я просмотрел наш код и увидел, что мы используем nack с requeue=false для отбрасывания пакетов вместо их подтверждения, поэтому я думаю, что мой первый ответ можно улучшить.
- person Raul Andres; 07.08.2014
nack пакет, чтобы сбросить его теперь более разумно, спасибо за вашу помощь. ;-)
- person Alireza; 09.08.2014