/// ----------------------------------------------------------------------------- /// <summary> /// DoWork runs the scheduled item /// </summary> /// <remarks> /// </remarks> /// <history> /// [cnurse] 11/15/2004 documented /// [vqnguyen] 05/28/2013 updated /// </history> /// ----------------------------------------------------------------------------- public override void DoWork() { try { var lastSuccessFulDateTime = SearchHelper.Instance.GetLastSuccessfulIndexingDateTime(ScheduleHistoryItem.ScheduleID); Logger.Trace("Search: Site Crawler - Starting. Content change start time " + lastSuccessFulDateTime.ToString("g")); ScheduleHistoryItem.AddLogNote(string.Format("Starting. Content change start time <b>{0:g}</b>", lastSuccessFulDateTime)); var searchEngine = new SearchEngine(); try { searchEngine.DeleteOldDocsBeforeReindex(lastSuccessFulDateTime); searchEngine.DeleteRemovedObjects(ScheduleHistoryItem.StartDate.ToUniversalTime()); searchEngine.IndexContent(lastSuccessFulDateTime); foreach (var result in searchEngine.Results) { ScheduleHistoryItem.AddLogNote(string.Format("<br/> {0} Indexed: {1}", result.Key, result.Value)); } ScheduleHistoryItem.AddLogNote("<br/> Deleted Objects: " + searchEngine.DeletedCount); ScheduleHistoryItem.AddLogNote("<br/><b>Total Items Indexed: " + searchEngine.IndexedSearchDocumentCount + "</b>"); searchEngine.CompactSearchIndexIfNeeded(ScheduleHistoryItem); } finally { searchEngine.Commit(); } ScheduleHistoryItem.Succeeded = true; ScheduleHistoryItem.AddLogNote("<br/><b>Indexing Successful</b>"); SearchHelper.Instance.SetLastSuccessfulIndexingDateTime(ScheduleHistoryItem.ScheduleID, ScheduleHistoryItem.StartDate); Logger.Trace("Search: Site Crawler - Indexing Successful"); } catch (Exception ex) { ScheduleHistoryItem.Succeeded = false; ScheduleHistoryItem.AddLogNote("<br/>EXCEPTION: " + ex.Message); Errored(ref ex); if (ScheduleHistoryItem.ScheduleSource != ScheduleSource.STARTED_FROM_BEGIN_REQUEST) { Exceptions.Exceptions.LogException(ex); } } }
/// ----------------------------------------------------------------------------- /// <summary> /// DoWork runs the scheduled item. /// </summary> /// <remarks> /// </remarks> /// ----------------------------------------------------------------------------- public override void DoWork() { try { var lastSuccessFulDateTime = SearchHelper.Instance.GetLastSuccessfulIndexingDateTime(this.ScheduleHistoryItem.ScheduleID); Logger.Trace("Search: Site Crawler - Starting. Content change start time " + lastSuccessFulDateTime.ToString("g")); this.ScheduleHistoryItem.AddLogNote(string.Format("Starting. Content change start time <b>{0:g}</b>", lastSuccessFulDateTime)); var searchEngine = new SearchEngine(this.ScheduleHistoryItem, lastSuccessFulDateTime); try { searchEngine.DeleteOldDocsBeforeReindex(); searchEngine.DeleteRemovedObjects(); searchEngine.IndexContent(); searchEngine.CompactSearchIndexIfNeeded(this.ScheduleHistoryItem); } finally { searchEngine.Commit(); } this.ScheduleHistoryItem.Succeeded = true; this.ScheduleHistoryItem.AddLogNote("<br/><b>Indexing Successful</b>"); SearchHelper.Instance.SetLastSuccessfulIndexingDateTime(this.ScheduleHistoryItem.ScheduleID, this.ScheduleHistoryItem.StartDate); Logger.Trace("Search: Site Crawler - Indexing Successful"); } catch (Exception ex) { this.ScheduleHistoryItem.Succeeded = false; this.ScheduleHistoryItem.AddLogNote("<br/>EXCEPTION: " + ex.Message); this.Errored(ref ex); if (this.ScheduleHistoryItem.ScheduleSource != ScheduleSource.STARTED_FROM_BEGIN_REQUEST) { Exceptions.Exceptions.LogException(ex); } } }