From 6560b1d70dddfe3c1766b89229628a3cad071f74 Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Fri, 27 Jan 2023 02:46:13 +0100 Subject: [PATCH] try catch on cleanup task --- .../Services/FileCleanupService.cs | 37 +++++++++++-------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/MareSynchronosServer/MareSynchronosStaticFilesServer/Services/FileCleanupService.cs b/MareSynchronosServer/MareSynchronosStaticFilesServer/Services/FileCleanupService.cs index d8266b7..5d33769 100644 --- a/MareSynchronosServer/MareSynchronosStaticFilesServer/Services/FileCleanupService.cs +++ b/MareSynchronosServer/MareSynchronosStaticFilesServer/Services/FileCleanupService.cs @@ -45,23 +45,30 @@ public class FileCleanupService : IHostedService while (!ct.IsCancellationRequested) { - DirectoryInfo dir = new(_cacheDir); - var allFiles = dir.GetFiles("*", SearchOption.AllDirectories); - _metrics.SetGaugeTo(MetricsAPI.GaugeFilesTotalSize, allFiles.Sum(f => f.Length)); - _metrics.SetGaugeTo(MetricsAPI.GaugeFilesTotal, allFiles.Length); - - using var scope = _services.CreateScope(); - using var dbContext = scope.ServiceProvider.GetService()!; - - await CleanUpOutdatedFiles(dbContext, ct).ConfigureAwait(false); - - CleanUpFilesBeyondSizeLimit(dbContext, ct); - - if (_isMainServer) + try { - CleanUpStuckUploads(dbContext); + DirectoryInfo dir = new(_cacheDir); + var allFiles = dir.GetFiles("*", SearchOption.AllDirectories); + _metrics.SetGaugeTo(MetricsAPI.GaugeFilesTotalSize, allFiles.Sum(f => f.Length)); + _metrics.SetGaugeTo(MetricsAPI.GaugeFilesTotal, allFiles.Length); - await dbContext.SaveChangesAsync(ct).ConfigureAwait(false); + using var scope = _services.CreateScope(); + using var dbContext = scope.ServiceProvider.GetService()!; + + await CleanUpOutdatedFiles(dbContext, ct).ConfigureAwait(false); + + CleanUpFilesBeyondSizeLimit(dbContext, ct); + + if (_isMainServer) + { + CleanUpStuckUploads(dbContext); + + await dbContext.SaveChangesAsync(ct).ConfigureAwait(false); + } + } + catch (Exception e) + { + _logger.LogError(e, "Error during cleanup task"); } var now = DateTime.Now;