diff --git a/src/FilterLists.Services/Snapshot/SnapshotService.cs b/src/FilterLists.Services/Snapshot/SnapshotService.cs index a375c0fa7..dea8410c2 100644 --- a/src/FilterLists.Services/Snapshot/SnapshotService.cs +++ b/src/FilterLists.Services/Snapshot/SnapshotService.cs @@ -22,6 +22,7 @@ public SnapshotService(FilterListsDbContext dbContext, IConfigurationProvider ma public async Task CaptureAsync(int batchSize) { + await CleanupFailedSnapshots(); uaString = await UserAgentService.GetMostPopularString(); var lists = await GetListsToCapture(batchSize); var snaps = await CreateAndSaveSnaps(lists); @@ -29,6 +30,12 @@ public async Task CaptureAsync(int batchSize) await CreateAndSaveSnaps(listsToRetry); } + private async Task CleanupFailedSnapshots() + { + DbContext.RemoveRange(DbContext.SnapshotRules.Where(sr => !sr.Snapshot.WasSuccessful)); + await DbContext.SaveChangesAsync(); + } + private async Task> GetListsToCapture(int batchSize) => await DbContext .FilterLists