Merge pull request #5082 from sbwalker/dev
enhance purge job to trim broken urls based on retention policy
This commit is contained in:
@ -101,5 +101,24 @@ namespace Oqtane.Repository
|
||||
db.UrlMapping.Remove(urlMapping);
|
||||
db.SaveChanges();
|
||||
}
|
||||
|
||||
public int DeleteUrlMappings(int siteId, int age)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
// delete notifications in batches of 100 records
|
||||
var count = 0;
|
||||
var purgedate = DateTime.UtcNow.AddDays(-age);
|
||||
var urlMappings = db.UrlMapping.Where(item => item.SiteId == siteId && string.IsNullOrEmpty(item.MappedUrl) && item.RequestedOn < purgedate)
|
||||
.OrderBy(item => item.RequestedOn).Take(100).ToList();
|
||||
while (urlMappings.Count > 0)
|
||||
{
|
||||
count += urlMappings.Count;
|
||||
db.UrlMapping.RemoveRange(urlMappings);
|
||||
db.SaveChanges();
|
||||
urlMappings = db.UrlMapping.Where(item => item.SiteId == siteId && string.IsNullOrEmpty(item.MappedUrl) && item.RequestedOn < purgedate)
|
||||
.OrderBy(item => item.RequestedOn).Take(100).ToList();
|
||||
}
|
||||
return count;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user