using System.Threading; using System.Threading.Tasks; using System.Linq; using Microsoft.Extensions.Hosting; using MySystem.PxcModels; using MySystem; public class TeamTopService : BackgroundService { protected override async Task ExecuteAsync(CancellationToken stoppingToken) { while (!stoppingToken.IsCancellationRequested) { int timespan = 1000 * 60 * 60; await Task.Delay(timespan).ContinueWith(tsk => { WebCMSEntities db = new WebCMSEntities(); //首页-特训营-排行榜-个人 var personTops = db.TeamPersonDayTop.Select(m => new { m.Id, m.ActMerNum }).OrderByDescending(m => m.ActMerNum).ToList(); RedisDbconn.Instance.Clear("TeamPersonDayTop"); foreach (var sub in personTops) { RedisDbconn.Instance.AddList("TeamPersonDayTop", sub.Id); } //首页-特训营-排行榜-团队 var teamTops = db.TeamDayTop.Select(m => new { m.Id, m.ActMerNum }).OrderByDescending(m => m.ActMerNum).ToList(); RedisDbconn.Instance.Clear("TeamDayTop"); foreach (var sub in teamTops) { RedisDbconn.Instance.AddList("TeamDayTop", sub.Id); } db.Dispose(); }); } } }