Можно ли читать и удалять сообщения из очереди ошибок в MassTransit? - PullRequest
0 голосов
/ 15 января 2020

Мы используем. Net Core / RabbitMQ / MassTransit, и у меня есть Потребитель [OrderCreatedEvent], который работает хорошо.

Я хочу иметь механизм восстановления после ошибок, при котором я хотел бы при запуске приложения прочитать и удалить сообщения из моей очереди ошибок.

Можно ли читать, а затем удалить сообщения из очереди ошибок в MassTransit?

1 Ответ

1 голос
/ 16 января 2020

Вы можете создать конечную точку приема в очереди ошибок, которая будет считывать сообщения так же, как и любая другая конечная точка приема. Вам понадобится потребитель, который сможет прочитать формат сообщения и сделать что-то с этим сообщением об ошибке (и, вероятно, что-то отличное от того, что было сделано изначально).

ПРИМЕЧАНИЕ: любые ошибки на этой конечной точке получения будут перемещено в input-queue_error_error, и так далее, и так далее ...

Другой вариант - настроить лопату на сервере RabbitMQ для перемещения сообщений, но будьте осторожны, чтобы не перемещать их навсегда, так как может быть законная причина, по которой сообщения были перемещены в очередь ошибок. Но если это было связано с нехваткой ресурсов и имеет смысл просто повторно обработать эти сообщения, используйте лопату, чтобы переместить их обратно в основную очередь.

...