Refactor TemporaryChatService for cleaner logging and improvements

This commit is contained in:
Thorsten Sommer 2025-06-01 20:46:45 +02:00
parent ed006f3a4b
commit 03bf288844
Signed by: tsommer
GPG Key ID: 371BBA77A02C0108

View File

@ -3,13 +3,11 @@ using AIStudio.Settings.DataModel;
namespace AIStudio.Tools.Services; namespace AIStudio.Tools.Services;
public class TemporaryChatService(ILogger<TemporaryChatService> logger, SettingsManager settingsManager) : BackgroundService public sealed class TemporaryChatService(ILogger<TemporaryChatService> logger, SettingsManager settingsManager) : BackgroundService
{ {
private static readonly TimeSpan CHECK_INTERVAL = TimeSpan.FromDays(1); private static readonly TimeSpan CHECK_INTERVAL = TimeSpan.FromDays(1);
private static bool IS_INITIALIZED; private static bool IS_INITIALIZED;
private readonly ILogger<TemporaryChatService> logger = logger;
#region Overrides of BackgroundService #region Overrides of BackgroundService
protected override async Task ExecuteAsync(CancellationToken stoppingToken) protected override async Task ExecuteAsync(CancellationToken stoppingToken)
@ -17,12 +15,12 @@ public class TemporaryChatService(ILogger<TemporaryChatService> logger, Settings
while (!stoppingToken.IsCancellationRequested && !IS_INITIALIZED) while (!stoppingToken.IsCancellationRequested && !IS_INITIALIZED)
await Task.Delay(TimeSpan.FromSeconds(3), stoppingToken); await Task.Delay(TimeSpan.FromSeconds(3), stoppingToken);
this.logger.LogInformation("The temporary chat maintenance service was initialized."); logger.LogInformation("The temporary chat maintenance service was initialized.");
await settingsManager.LoadSettings(); await settingsManager.LoadSettings();
if(settingsManager.ConfigurationData.Workspace.StorageTemporaryMaintenancePolicy is WorkspaceStorageTemporaryMaintenancePolicy.NO_AUTOMATIC_MAINTENANCE) if(settingsManager.ConfigurationData.Workspace.StorageTemporaryMaintenancePolicy is WorkspaceStorageTemporaryMaintenancePolicy.NO_AUTOMATIC_MAINTENANCE)
{ {
this.logger.LogWarning("Automatic maintenance of temporary chat storage is disabled. Exiting maintenance service."); logger.LogWarning("Automatic maintenance of temporary chat storage is disabled. Exiting maintenance service.");
return; return;
} }
@ -38,11 +36,11 @@ public class TemporaryChatService(ILogger<TemporaryChatService> logger, Settings
private Task StartMaintenance() private Task StartMaintenance()
{ {
this.logger.LogInformation("Starting maintenance of temporary chat storage."); logger.LogInformation("Starting maintenance of temporary chat storage.");
var temporaryDirectories = Path.Join(SettingsManager.DataDirectory, "tempChats"); var temporaryDirectories = Path.Join(SettingsManager.DataDirectory, "tempChats");
if(!Directory.Exists(temporaryDirectories)) if(!Directory.Exists(temporaryDirectories))
{ {
this.logger.LogWarning("Temporary chat storage directory does not exist. End maintenance."); logger.LogWarning("Temporary chat storage directory does not exist. End maintenance.");
return Task.CompletedTask; return Task.CompletedTask;
} }
@ -67,12 +65,12 @@ public class TemporaryChatService(ILogger<TemporaryChatService> logger, Settings
if(deleteChat) if(deleteChat)
{ {
this.logger.LogInformation($"Deleting temporary chat storage directory '{tempChatDirPath}' due to maintenance policy."); logger.LogInformation($"Deleting temporary chat storage directory '{tempChatDirPath}' due to maintenance policy.");
Directory.Delete(tempChatDirPath, true); Directory.Delete(tempChatDirPath, true);
} }
} }
this.logger.LogInformation("Finished maintenance of temporary chat storage."); logger.LogInformation("Finished maintenance of temporary chat storage.");
return Task.CompletedTask; return Task.CompletedTask;
} }