private async Task RunReportProgress(ProcessingQueueItem <TItem, TResult> item) { try { await ReportProgress(item); } catch { } }
private async Task <bool> RunProcessItem(ProcessingQueueItem <TItem, TResult> item, CancellationTokenSource internalCancellationTokenSource) { item.Processed = true; try { item.Output = await ProcessItem(item.Input); return(true); } catch (Exception exc) { item.Exception = exc; if (StopOnFirstException) { if (!internalCancellationTokenSource.IsCancellationRequested) { internalCancellationTokenSource.Cancel(); } return(false); } return(true); } }
public abstract Task ReportProgress(ProcessingQueueItem <TItem, TResult> item);