1

我正在使用 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);
                    });

谢谢

4

0 回答 0