private bool ProcessDatabase(Database db) { bool success; try { var args = new HistoryCollectorPipelineArgs(db); CorePipeline.Run("historycollector", args); success = args.Success; } catch (Exception exception) { success = false; Log.Error("Historian.Handler failed when calling historyCollector pipeline", exception); } Log.Info("Historian.Handler returned with '{0}'".FormatWith(success), this); return success; }
public void Process(HistoryCollectorPipelineArgs args) { Assert.ArgumentNotNull(args, "HistoryCollectorPipelineArgs cannot be null"); var database = args.Database; if (database.Engines.HistoryEngine == null || database.Engines.HistoryEngine.Storage == null) { Log.Error("HistoryCollector. History engine for database '{0}' is not configured. ".FormatWith(database.Name), this); args.Success = false; return; } var lastUpdateDate = GetLastUpdateDate(database); var utcNow = DateTime.UtcNow; if (ProcessEntries(database, lastUpdateDate, utcNow)) { Log.Info("HistoryCollector. Collecting Urls. Total: {0}".FormatWith(_validEntries.Count), this); var urls = CollectTokens(database); Log.Info("HistoryCollector. Starting Processing Urls. Total: {0}...".FormatWith(urls.Count), this); try { var result = ProcessUrls(urls); database.Properties[LastUpdateKey] = DateUtil.ToIsoDate(utcNow); Log.Info("HistoryCollector. Processing Urls Done. Returned with {0}".FormatWith(result), this); args.Success = true; return; } catch (Exception) { Log.Info("HistoryCollector. ProcessUrls failed.", this); args.Success = false; return; } } Log.Info("HistoryCollector. ProcessEntries failed.", this); args.Success = false; }