Merge pull request #5104 from sbwalker/dev

fix visitor purge logic
This commit is contained in:
Shaun Walker 2025-02-17 13:22:11 -05:00 committed by GitHub
commit e0569a6748
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -65,14 +65,14 @@ namespace Oqtane.Repository
// delete visitors in batches of 100 records // delete visitors in batches of 100 records
var count = 0; var count = 0;
var purgedate = DateTime.UtcNow.AddDays(-age); var purgedate = DateTime.UtcNow.AddDays(-age);
var visitors = db.Visitor.Where(item => item.SiteId == siteId && item.Visits < 2 && item.VisitedOn < purgedate) var visitors = db.Visitor.Where(item => item.SiteId == siteId && item.VisitedOn < purgedate)
.OrderBy(item => item.VisitedOn).Take(100).ToList(); .OrderBy(item => item.VisitedOn).Take(100).ToList();
while (visitors.Count > 0) while (visitors.Count > 0)
{ {
count += visitors.Count; count += visitors.Count;
db.Visitor.RemoveRange(visitors); db.Visitor.RemoveRange(visitors);
db.SaveChanges(); db.SaveChanges();
visitors = db.Visitor.Where(item => item.SiteId == siteId && item.Visits < 2 && item.VisitedOn < purgedate) visitors = db.Visitor.Where(item => item.SiteId == siteId && item.VisitedOn < purgedate)
.OrderBy(item => item.VisitedOn).Take(100).ToList(); .OrderBy(item => item.VisitedOn).Take(100).ToList();
} }
return count; return count;