예제 #1
0
        public async Task RetryAsync(EmailMessage emailMessage)
        {
            emailMessage.RetryCount++;
            var delay = backoffStrategy.GetDelay(emailMessage.RetryCount);

            // see https://github.com/EasyNetQ/EasyNetQ/wiki/Support-for-Delayed-Messages-Plugin
            await bus.FuturePublishAsync(DateTime.UtcNow.Add(delay), emailMessage);

            logger.LogError($"Delaying {emailMessage.Id} for {delay}");
        }