Example #1
0
        public void Optimize()
        {
            LuceneBase _LuceneRepository = new LuceneSaverRepository();

            _LuceneRepository.Optimize();
            GeneralLogs.WriteLogInDB("Optimize[AsService] ", TypeOfLog.Info);
        }
Example #2
0
        public bool SendFeeds(List <FeedContract> feeds)
        {
            List <FeedItemSP> items = feeds.SelectMany(feed => feed.FeedItems.Select(item => new FeedItemSP
            {
                Cats        = !string.IsNullOrEmpty(feed.Cats) ? feed.Cats.Split(' ').Select(x => int.Parse(x)) : null,
                CreateDate  = DateTime.Now,
                Description = item.Description,
                Link        = item.Link,
                PubDate     = item.PubDate,
                SiteId      = feed.SiteId,
                SiteTitle   = feed.SiteTitle,
                SiteUrl     = feed.SiteUrl,
                Title       = item.Title
            })).ToList();

            IRepositorySearcher luceneSearcher = new LuceneSearcherRepository();
            IRepositorySaver    saver          = new LuceneSaverRepository();

            saver.AddItems(items);
            //var dics = feeds.ToDictionary(x => x.FeedId, c => c.LastFeedItemUrl);
            UpdateFeeds(feeds);
            NumberOfNewItemsToday += items.Count;

            //if (NumberOfNewItemsToday - Last_NumberOfNewItemsToday > 50)
            //{
            //    Optimize();
            //    Last_NumberOfNewItemsToday = NumberOfNewItemsToday;
            //}
            //Optimize();
            return(true);
        }
Example #3
0
        public bool SendFeedItems(List <FeedItemSP> items)
        {
            IRepositorySaver _LuceneRepository = new LuceneSaverRepository();

            _LuceneRepository.AddItems(items.ToList());
            return(true);
        }
Example #4
0
 protected void Application_End()
 {
     try
     {
         LuceneBase _LuceneRepository = new LuceneSaverRepository();
         _LuceneRepository.Optimize();
         GeneralLogs.WriteLogInDB(">INFO application ending" + DateTime.Now.ToString("yyyMMddHH"));
     }
     catch { }
 }
Example #5
0
        private bool UpdateItemFeeds(IEnumerable <FeedContract> feeds)
        {
            #region send items
            List <FeedItemSP> items = feeds.SelectMany(feed => feed.FeedItems.Select(item => new FeedItemSP
            {
                Cats        = !string.IsNullOrEmpty(feed.Cats) ? feed.Cats.Split(' ').Select(x => int.Parse(x)) : null,
                CreateDate  = DateTime.Now,
                Description = item.Description,
                Link        = item.Link,
                PubDate     = item.PubDate,
                FeedId      = feed.Id,
                SiteId      = feed.SiteId,
                SiteTitle   = feed.SiteTitle,
                SiteUrl     = feed.SiteUrl,
                Title       = item.Title
            })).ToList();

            IRepositorySaver saver = new LuceneSaverRepository();
            saver.AddItems(items);
            NumberOfNewItemsToday += items.Count;
            if (NumberOfNewItemsToday > 100)
            {
                Optimize();
            }
            #endregion

            #region UpdateFeed
            var ids     = feeds.Select(x => x.Id).ToList();
            var dbFeeds = Context.Feeds.Where(x => ids.Any(f => f == x.Id));
            foreach (var dbfeed in dbFeeds)
            {
                dbfeed.LastUpdatedItemUrl = feeds.FirstOrDefault(x => x.Id == dbfeed.Id).LastFeedItemUrl;
                if (!string.IsNullOrEmpty(dbfeed.LastUpdatedItemUrl))
                {
                    dbfeed.UpdatingCount    = dbfeed.UpdatingCount == null ? 1 : dbfeed.UpdatingCount + 1;
                    dbfeed.LastUpdaterVisit = DateTime.Now;
                    CheckForChangeDuration(dbfeed, true);
                }
                else
                {
                    CheckForChangeDuration(dbfeed, false);
                }

                dbfeed.LastUpdaterVisit = DateTime.Now;
            }
            Context.SaveChanges();
            GeneralLogs.WriteLog("UpdateFeeds[" + UpdaterName + "] : " + string.Join("[br /]", dbFeeds.Select(x => x.Link)), TypeOfLog.OK);
            #endregion

            return(true);
        }
Example #6
0
        public void UpdateIsParting()
        {
            GeneralLogs.WriteLogInDB("Start updater...", TypeOfLog.Start, typeof(FeedUpdater));

            var periods = DurationBiz.GetList().Where(x => x.EnabledForUpdate && x.IsParting.Value == true).ToList();

            foreach (var duration in periods)
            {
                if (StopUpdater)
                {
                    return;
                }

                UpdateFeedsPerDuration(duration);
            }

            var _LuceneRepository = new LuceneSaverRepository();

            _LuceneRepository.Optimize();
            GeneralLogs.WriteLog("Lucene Optimize", TypeOfLog.Warning, typeof(FeedUpdater));

            GeneralLogs.WriteLogInDB("End Updater at " + Config.GetServerNow().ToString("hh:mm"), TypeOfLog.End, typeof(FeedUpdater));
        }