public async Task <bool> ProcessAsync() { var queueItem = await Queue.DequeueAsync(); if (queueItem == null) { return(false); } Exception exception = null; try { await PayloadHandler.ProcessAsync(queueItem.Payload); } catch (Exception e) { exception = e; throw; } finally { await Queue.UpdateAsync(queueItem, exception); } return(true); }
public async Task <bool> ProcessAsync() { var queueItem = await Queue.DequeueAsync(); if (queueItem == null) { return(false); } await PayloadHandler.ProcessAsync(queueItem.Payload); return(true); }
public async Task <bool> ProcessAsync() { var items = await Queue.DequeueAsync(); if (!items.Any()) { return(false); } await Task.WhenAll(items.Select(item => PayloadHandler.ProcessAsync(item.Payload))); return(true); }