public void Optimize() { LuceneBase _LuceneRepository = new LuceneSaverRepository(); _LuceneRepository.Optimize(); GeneralLogs.WriteLogInDB("Optimize[AsService] ", TypeOfLog.Info); }
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); }
public bool SendFeedItems(List <FeedItemSP> items) { IRepositorySaver _LuceneRepository = new LuceneSaverRepository(); _LuceneRepository.AddItems(items.ToList()); return(true); }
protected void Application_End() { try { LuceneBase _LuceneRepository = new LuceneSaverRepository(); _LuceneRepository.Optimize(); GeneralLogs.WriteLogInDB(">INFO application ending" + DateTime.Now.ToString("yyyMMddHH")); } catch { } }
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); }
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)); }