Как я могу добавить задержку обработки неудачных сообщений в ServiceStack Redis MQ
Есть ли простой способ заставить Servicetack подождать x секунд, прежде чем повторить попытку неисправного элемента MQ (используя Redis MQ). На данный момент он просто пытается 3 раза подряд без задержки.
1 ответ
Решение
Когда вы регистрируете обработчик MQ, вы также можете зарегистрировать обработчик ошибок, который вызывается после публикации сообщения об ошибке, которое вы можете использовать для добавления пользовательской задержки, например:
mqServer.RegisterHandler<MyRequest>(
ServiceController.ExecuteMessage,
(msgHandler, msg, ex) => Thread.Sleep(1000));