private async Task DeleteUnmonitoredPlayersNotInAClan() { using var scope = Services.CreateScope(); CacheContext dbContext = scope.ServiceProvider.GetRequiredService <CacheContext>(); // delete any player who is not being monitored so stale items dont get stuck in cache List <CachedPlayer> cachedPlayers = await dbContext.Players .Where(p => p.ClanTag == null && p.Download == false && p.ServerExpiration < DateTime.UtcNow.AddMinutes(-10)) .ToListAsync(_stopRequestedTokenSource.Token); dbContext.RemoveRange(cachedPlayers); await dbContext.SaveChangesAsync(_stopRequestedTokenSource.Token); }