Как я могу добавить задержку обработки неудачных сообщений в ServiceStack Redis MQ

Есть ли простой способ заставить Servicetack подождать x секунд, прежде чем повторить попытку неисправного элемента MQ (используя Redis MQ). На данный момент он просто пытается 3 раза подряд без задержки.

1 ответ

Решение

Когда вы регистрируете обработчик MQ, вы также можете зарегистрировать обработчик ошибок, который вызывается после публикации сообщения об ошибке, которое вы можете использовать для добавления пользовательской задержки, например:

mqServer.RegisterHandler<MyRequest>(
    ServiceController.ExecuteMessage,
    (msgHandler, msg, ex) => Thread.Sleep(1000));
Другие вопросы по тегам