protected async Task ReportProgress(IWorkItemHandler handler, IQueueEntry <WorkItemData> queueEntry, int progress = 0, string message = null) { try { await _messageBus.PublishAsync(new WorkItemStatus { WorkItemId = queueEntry.Value.WorkItemId, Type = queueEntry.Value.Type, Progress = progress, Message = message }).AnyContext(); } catch (Exception ex) { handler.Log.Error(ex, "Error sending progress report: {0}", ex.Message); } }
protected async Task ReportProgress(IWorkItemHandler handler, IQueueEntry<WorkItemData> queueEntry, int progress = 0, string message = null) { try { await _messageBus.PublishAsync(new WorkItemStatus { WorkItemId = queueEntry.Value.WorkItemId, Type = queueEntry.Value.Type, Progress = progress, Message = message }).AnyContext(); } catch (Exception ex) { handler.Log.Error(ex, "Error sending progress report: {0}", ex.Message); } }
public void Register <T>(IWorkItemHandler handler) { _handlers.TryAdd(typeof(T), new Lazy <IWorkItemHandler>(() => handler)); }