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);
        }
Beispiel #2
0
        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);
        }