From 87b6cb1a6bc5948ccb8e3f0b48cf5b411c8ed26c Mon Sep 17 00:00:00 2001 From: Sondre Jahrsengene Date: Thu, 21 Nov 2024 11:32:56 +0100 Subject: [PATCH] fix: add brreg exception handling to coordination and trend alle --- src/Dan.Plugin.Tilda/Tilda.cs | 38 +++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/src/Dan.Plugin.Tilda/Tilda.cs b/src/Dan.Plugin.Tilda/Tilda.cs index 8a7a46a..47e925f 100644 --- a/src/Dan.Plugin.Tilda/Tilda.cs +++ b/src/Dan.Plugin.Tilda/Tilda.cs @@ -699,7 +699,24 @@ private async Task> GetEvidenceValuesTrendAll(EvidenceHarves } } - await Task.WhenAll(taskList); + var taskResult = Task.WhenAll(taskList); + try + { + await taskResult; + } + catch (Exception e) + { + // Don't want one failed fetch to break the listing of the rest of the orgs + if (taskResult.IsFaulted) + { + var failedTasks = taskList.Where(task => task.IsFaulted).ToList(); + foreach (var task in failedTasks) + { + _logger.LogError(task.Exception, task.Exception?.Message); + } + taskList = taskList.Where(task => !task.IsFaulted).ToList(); + } + } foreach (var t in taskList) { @@ -758,7 +775,24 @@ private async Task> GetEvidenceValuesTilsynskoordingeringAll } } - await Task.WhenAll(taskList); + var taskResult = Task.WhenAll(taskList); + try + { + await taskResult; + } + catch (Exception e) + { + // Don't want one failed fetch to break the listing of the rest of the orgs + if (taskResult.IsFaulted) + { + var failedTasks = taskList.Where(task => task.IsFaulted).ToList(); + foreach (var task in failedTasks) + { + _logger.LogError(task.Exception, task.Exception?.Message); + } + taskList = taskList.Where(task => !task.IsFaulted).ToList(); + } + } taskList = taskList .Where(task => task.Result is not null) .GroupBy(x => x.Result.OrganizationNumber)