public void Execute(JobExecutionContext context) { try { log.Info("AllListJob开始更新"); var videos = ListCache.Instance.Items[new VideoNodeKey(null, 0, null)].Ver1; var root = new XElement("vlist"); int num = 0; foreach (var video in videos) { root.Add(ResponseUtils.ResponseBack(ListCache.Instance.Dictionary[video])); num++; } root.AddFirst(new XElement("count", num)); ResponseUtils.SaveXml("all.xml", root); YesterdayListCache.Instance.Refresh(videos); SerizlizerUtils <YesterdayVideoNode> .SerializeSplitCache(YesterdayListCache.Instance.Items, _buffername); //SerizlizerUtils<VideoNode>.SerializeSplitCache(videos, _buffername); } catch (Exception ex) { log.Error(ex); } finally { log.Info("AllListJob结束更新"); } }
public void Execute(JobExecutionContext context) { try { log.Info("UpdateListJob开始更新"); var yesterday = YesterdayListCache.Instance.Items; var todaylist = ListCache.Instance.Items[new VideoNodeKey(null, 0, null)].Ver1; var today = VideoUtils.ConvertVodIenum(todaylist); var root = new XElement("vlist"); root.Add(new XElement("count", todaylist.Count())); XElement updatexml; XElement deletexml; if (yesterday != null) { var updatevideo = today.Intersect(yesterday, new YesterdayModifyCompare()); var addvideo = today.Except(yesterday, new YesterdayVidCompare()); var deletevideo = yesterday.Except(today, new YesterdayVidCompare()); updatexml = new XElement("v-update", new XAttribute("count", updatevideo.Count() + addvideo.Count())); foreach (var uv in updatevideo) { updatexml.Add(ResponseUtils.ResponseBack(ListCache.Instance.Dictionary[uv.ChannelId])); } foreach (var av in addvideo) { updatexml.Add(ResponseUtils.ResponseBack(ListCache.Instance.Dictionary[av.ChannelId])); } deletexml = new XElement("v-delete", new XAttribute("count", deletevideo.Count())); foreach (var dv in deletevideo) { var v = new XElement("vid", dv.ChannelId); deletexml.Add(v); } } else { updatexml = new XElement("v-update", new XAttribute("count", 0)); deletexml = new XElement("v-delete", new XAttribute("count", 0)); } root.Add(updatexml); root.Add(deletexml); string fileName = string.Format("delta_{0}.xml", DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd")); ResponseUtils.SaveXml(fileName, root); } catch (Exception ex) { log.Error(ex); } finally { log.Info("UpdateListJob结束更新"); } }