Commit: 52104c1
Parent: 7cb53d2

Log in cleanup jobs

Mårten Åsberg committed on 2026-05-16 at 08:54
src/Domain/Cleaner.cs +5 -0
diff --git a/src/Domain/Cleaner.cs b/src/Domain/Cleaner.cs
index 68af05e..79d133b 100644
@@ -4,11 +4,13 @@ using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
namespace Slopper.Domain;
public sealed class Cleaner(
ILogger<Cleaner> logger,
IOptionsMonitor<CleanerOptions> options,
IClipRepository clipRepository,
TimeProvider timeProvider
@@ -17,11 +19,14 @@ public sealed class Cleaner(
public async Task Cleanup(CancellationToken cancellationToken)
{
var cutoff = timeProvider.GetUtcNow() - options.CurrentValue.Retention;
logger.LogDebug("Will cleanup any clips created before {Cutoff}", cutoff);
await foreach (var clip in clipRepository.GetCreatedBefore(cutoff, cancellationToken))
{
logger.LogDebug("Removing {ClipId}", clip.Id);
File.Delete(clip.Path);
clip.RemovedAt = timeProvider.GetUtcNow();
await clipRepository.Save(clip, cancellationToken);
logger.LogDebug("Removed {ClipId}", clip.Id);
}
}
}