예제 #1
0
        private async Task BackgroundProcessing(CancellationToken stoppingToken)
        {
            while (!stoppingToken.IsCancellationRequested)
            {
                var workItem = await TaskQueue.DequeueAsync(stoppingToken);

                try
                {
                    await workItem(stoppingToken);
                }
                catch (Exception e)
                {
                    _logger.LogError(e, "Error occurred executing {0}.", nameof(workItem));
                }
            }
        }