public static void Execute(IndexingActivityBase activity) { using (var op = SnTrace.Index.StartOperation("IAQ: A{0} EXECUTION.", activity.Id)) { IndexingActivityHistory.Start(activity.Id); try { using (new Storage.Security.SystemAccount()) activity.ExecuteIndexingActivityAsync(CancellationToken.None).GetAwaiter().GetResult(); } catch (Exception e) { SnLog.WriteException(e, $"Indexing activity execution error. Activity: #{activity.Id} ({activity.ActivityType})"); SnTrace.Index.WriteError("IAQ: A{0} EXECUTION ERROR: {1}", activity.Id, e); IndexingActivityHistory.Error(activity.Id, e); } finally { DependencyManager.Finish(activity); IndexManager.ActivityFinished(activity.Id); } op.Successful = true; } }
public static void Execute(IndexingActivityBase activity) { using (var op = SnTrace.Index.StartOperation("IAQ: A{0} EXECUTION.", activity.Id)) { IndexingActivityHistory.Start(activity.Id); try { using (new Storage.Security.SystemAccount()) activity.ExecuteIndexingActivity(); } catch (Exception e) { //TODO: WARNING Do not fill the event log with repetitive messages. SnLog.WriteException(e, $"Indexing activity execution error. Activity: #{activity.Id} ({activity.ActivityType})"); SnTrace.Index.WriteError("IAQ: A{0} EXECUTION ERROR: {1}", activity.Id, e); IndexingActivityHistory.Error(activity.Id, e); } finally { DependencyManager.Finish(activity); IndexManager.ActivityFinished(activity.Id); } op.Successful = true; } }