public Worker( ProcessHubClient processHubClient, InboxQueue queue, ILogger <Worker> logger) { ProcessHubClient = processHubClient; Queue = queue; Logger = logger; }
protected override async Task ExecuteAsync(CancellationToken stoppingToken) { while (!stoppingToken.IsCancellationRequested) { var request = Queue.DequeueRequest(); if (request != null) { Logger.LogInformation($"Request received from {request.ConnectionId}"); await ProcessHubClient.UpdateDashboard(request.ConnectionId, "first"); await Task.Delay(2000); await ProcessHubClient.UpdateDashboard(request.ConnectionId, "second"); await Task.Delay(1000); await ProcessHubClient.UpdateDashboard(request.ConnectionId, "third"); await Task.Delay(3000); } await Task.Delay(1000); } }