public void LogProgressMonitorItem(int key, ProgressMonitorItem progressMonitorItem) { var isQueueCompleted = progressMonitorItem.IsInQueueCompleted ? " [C]" : String.Empty; var formattableString = $"{key}-{progressMonitorItem.LoggerName}({progressMonitorItem.QueueProcessorCount}/{progressMonitorItem.MaxQueueProcessorCount}) Id:{progressMonitorItem.Id,10} InQueue:{progressMonitorItem.InQueueCount:N0}{isQueueCompleted} Minimum:{progressMonitorItem.Minimum,10}"; //if (progressMonitorItem.Value.LastCompletedEntityIdForEachQuery != null) //{ // foreach (var keyValuePair in progressMonitorItem.Value.LastCompletedEntityIdForEachQuery.OrderBy(a => a.Key)) // { // formattableString += $" {keyValuePair.Key}: {keyValuePair.Value}"; // } //} if (progressMonitorItem.TimeElapsedProcessing != TimeSpan.Zero) { // ReSharper disable once UseFormatSpecifierInInterpolation formattableString += $" Time:{progressMonitorItem.TimeElapsedProcessing.ToString(@"hh\:mm\:ss")}"; } if (progressMonitorItem.DocumentDictionaryCount > 0) { formattableString += $" Dictionary:{progressMonitorItem.DocumentDictionaryCount}"; } formattableString += $" Processed: {progressMonitorItem.TotalItemsProcessed:N0}"; formattableString += $" Out: {progressMonitorItem.TotalItemsAddedToOutputQueue:N0}"; AppendLine(formattableString); }
/// <summary> /// The set progress item. /// </summary> /// <param name="progressMonitorItem"> /// The progress monitor item. /// </param> public void SetProgressItem(ProgressMonitorItem progressMonitorItem) { //lock (Lock) { Interlocked.Increment(ref id); var key = progressMonitorItem.StepNumber; this.progressMonitorItems.AddOrUpdate(key, progressMonitorItem, (a, b) => progressMonitorItem); this.JobHistoryUpdateAction?.Invoke(); } }
/// <inheritdoc /> public void LogProgressMonitorItem(int key, ProgressMonitorItem progressMonitorItem) { var isQueueCompleted = progressMonitorItem.IsInQueueCompleted ? " [C]" : string.Empty; var loggerName = progressMonitorItem.LoggerName; var queueProcessorCount = progressMonitorItem.QueueProcessorCount; var maxQueueProcessorCount = progressMonitorItem.MaxQueueProcessorCount; var inQueueCount = progressMonitorItem.InQueueCount; var minimum = progressMonitorItem.Minimum; var time = progressMonitorItem.TimeElapsedProcessing.ToString(@"hh\:mm\:ss"); var dictionary = progressMonitorItem.DocumentDictionaryCount; var @out = progressMonitorItem.TotalItemsAddedToOutputQueue; var processed = progressMonitorItem.TotalItemsProcessed; var text = $"{key,4}-{loggerName,25}({queueProcessorCount,3}/{maxQueueProcessorCount,3}) {string.Empty,4} {inQueueCount,7} {processed,10} {@out,7} {time,15} {dictionary,7} {isQueueCompleted,3}"; this.AppendLine(text); }
/// <summary> /// The set progress item. /// </summary> /// <param name="progressMonitorItem"> /// The progress monitor item. /// </param> public void SetProgressItem(ProgressMonitorItem progressMonitorItem) { }
public void LogProgressMonitorItem(int key, ProgressMonitorItem progressMonitorItem) { }