как очистить очередь MassTransit?

Я хочу удалить все сообщения из очереди в процедуре настройки интеграционного теста, как мне это сделать? Не повезло с поиском в Google/intellisense-bruteforce.

Если это важно -- я использую RabbitMq в качестве транспорта.


person vorou    schedule 12.08.2013    source источник


Ответы (1)


Невозможно «удалить» из очередей в MassTransit. Для тестов вы можете использовать временные, случайные URI очереди через rabbitmq://localhost/*?temporary=true. Или вы можете просто добавить ?temporary=true в конец ваших существующих URI-адресов очереди, чтобы после этого MT очистил все. Примечание. В настоящее время, начиная с версии 2.8, временные обмены не очищаются. Это должно быть исправлено к следующему релизу.

person Travis    schedule 12.08.2013
comment
Невозможно очистить очереди из MassTransit. -- Это по замыслу? - person vorou; 12.08.2013
comment
Существует SetPurgeOnStartup(true) вариант конфигурации. Что может делать то, что вы хотите. Временные очереди — лучший ответ в RabbitMQ. Однако, если вы чувствуете, что это необходимо по какой-либо причине, и SetPurgeOnStartup не подходит для вас, отправьте сообщение о проблеме: github.com/MassTransit/MassTransit/issues - person Travis; 12.08.2013
comment
временные очереди, по-видимому, были опущены в V2.9.5. - person Paul; 07.05.2014
comment
Они находятся в последней кодовой базе v2 и были в нескольких выпусках. - person Chris Patterson; 27.08.2015