delete last 5% of files once storage reaches limit

This commit is contained in:
rootdarkarchon
2023-04-12 13:51:06 +02:00
parent d5f140a142
commit 2b6a918aea
2 changed files with 6 additions and 3 deletions

View File

@@ -106,11 +106,14 @@ public sealed class PeriodicFileScanner : DisposableMediatorSubscriberBase
}
});
if (FileCacheSize < (long)(_configService.Current.MaxLocalCacheInGiB * 1024d * 1024d * 1024d)) return false;
var maxCacheInBytes = (long)(_configService.Current.MaxLocalCacheInGiB * 1024d * 1024d * 1024d);
if (FileCacheSize < maxCacheInBytes) return false;
var allFiles = Directory.EnumerateFiles(_configService.Current.CacheFolder)
.Select(f => new FileInfo(f)).OrderBy(f => f.LastAccessTime).ToList();
while (FileCacheSize > (long)(_configService.Current.MaxLocalCacheInGiB * 1024d * 1024d * 1024d))
var maxCacheBuffer = maxCacheInBytes * 0.05d;
while (FileCacheSize > maxCacheInBytes - (long)maxCacheBuffer)
{
var oldestFile = allFiles[0];
FileCacheSize -= oldestFile.Length;