public PluginsExecutionResults SendCompleteProcessingSignalToPlugins(bool runAborted = false) { _completeProcessingCalled = true; var pluginsExecutionResults = new PluginsExecutionResults(); if (runAborted) { _runAborted = true; return(pluginsExecutionResults); // We don't want plugins to try to do any more work (and potentially make things worse) if we're aborting the run } foreach (var plugin in _plugins) { try { var result = plugin.CompleteProcessing(); pluginsExecutionResults.AddSinglePluginResults(plugin.Name, result); } catch (Exception ex) { _logger.LogError(ex, $"Exception occurred while {plugin.Name} plugin was completing processing"); } } return(pluginsExecutionResults); }
public ProcessLogSetResult( string errorMessage, ExitReason exitReason, long fullLogSetSizeBytes, bool isDirectory, HashSet <string> loadedPlugins, Dictionary <LogType, ProcessLogTypeResult> logProcessingStatistics, PluginsExecutionResults pluginsExecutionResults, HashSet <string> pluginsReceivedAnyData ) { ErrorMessage = errorMessage; ExitReason = exitReason; FullLogSetSizeBytes = fullLogSetSizeBytes; IsDirectory = isDirectory; LoadedPlugins = loadedPlugins; LogProcessingStatistics = logProcessingStatistics; PluginsExecutionResults = pluginsExecutionResults; PluginsReceivedAnyData = pluginsReceivedAnyData; }