我正在使用 MassTransit 和 RabbitMQ 将消息发布到队列。如果没有可用的队列并使用 Polly 尝试 n 次,谁能告诉我处理异常的最佳方法是什么?
这是我将消息发布到队列的代码:
private async Task PublishToQueue(ChangeDetected changeDetected)
{
_logProvider.Info("Publish to Queue started");
try
{
await _busControl.Publish(changeDetected);
_logProvider.Info($"ChangeDetected message published to RabbitMq. Message");
}
catch (Exception ex)
{
_logProvider.Error("Error publishing message to queue: ", ex);
throw;
}
}
我可以在quartz.net 作业中使用以下代码来实现polly 重试吗?
//Publish message to queue
Policy
.Handle<Exception>()
.RetryAsync(_configReader.RetryLimit, (exception, count) =>
{
//Do something for each retry
})
.ExecuteAsync(async () =>
{
await PublishToQueue(message);
});
谢谢