From ba2c7fe67deee4b6b477aa6a1e002b181d5c468c Mon Sep 17 00:00:00 2001 From: Kyle Spearrin <kyle.spearrin@gmail.com> Date: Thu, 11 Jul 2019 15:43:20 -0400 Subject: [PATCH] catch any unhandled exceptions in event processor --- .../AzureQueueHostedService.cs | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/EventsProcessor/AzureQueueHostedService.cs b/src/EventsProcessor/AzureQueueHostedService.cs index 18e1b07ead..74a3cf9f4b 100644 --- a/src/EventsProcessor/AzureQueueHostedService.cs +++ b/src/EventsProcessor/AzureQueueHostedService.cs @@ -71,18 +71,26 @@ namespace Bit.EventsProcessor while(!cancellationToken.IsCancellationRequested) { - var messages = await _queue.GetMessagesAsync(32, TimeSpan.FromMinutes(1), - null, null, cancellationToken); - if(messages.Any()) + try { - foreach(var message in messages) + var messages = await _queue.GetMessagesAsync(32, TimeSpan.FromMinutes(1), + null, null, cancellationToken); + if(messages.Any()) { - await ProcessQueueMessageAsync(message.AsString, cancellationToken); - await _queue.DeleteMessageAsync(message); + foreach(var message in messages) + { + await ProcessQueueMessageAsync(message.AsString, cancellationToken); + await _queue.DeleteMessageAsync(message); + } + } + else + { + await Task.Delay(TimeSpan.FromSeconds(5), cancellationToken); } } - else + catch(Exception e) { + _logger.LogError(e, "Exception occurred: " + e.Message); await Task.Delay(TimeSpan.FromSeconds(5), cancellationToken); } } @@ -124,11 +132,6 @@ namespace Bit.EventsProcessor { _logger.LogError("JsonSerializationException: Unable to serialize token."); } - catch(Exception e) - { - _logger.LogError(e, "Exception occurred. " + e.Message); - throw e; - } } } }