예제 #1
0
 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);
     }
 }
예제 #2
0
 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);
     }
 }
예제 #3
0
 public void Register <T>(IWorkItemHandler handler)
 {
     _handlers.TryAdd(typeof(T), new Lazy <IWorkItemHandler>(() => handler));
 }