示例#1
0
        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结束更新");
            }
        }
示例#2
0
 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结束更新");
     }
 }