Exemplo n.º 1
0
        protected override async Task ExecuteCoreAsync(CancellationToken stoppingToken)
        {
            var random = new Random();

            while (!stoppingToken.IsCancellationRequested)
            {
                WriteLine($"{nameof(ConsumerService)}: Dequeue(before)");
                var bytes = await _queue.DequeueAsync(stoppingToken);

                WriteLine($"{nameof(ConsumerService)}: Dequeue(after) {HexHelper.ToString(bytes)}");

                // ランダムな時間待機する(何か処理する想定)
                var sec = random.Next(1, 3);
                WriteLine($"{nameof(ConsumerService)}: Wait {sec}s");
                await Task.Delay(TimeSpan.FromSeconds(sec), stoppingToken);
            }
        }