diff --git a/server/RdtClient.Service/BackgroundServices/WebsocketsUpdater.cs b/server/RdtClient.Service/BackgroundServices/WebsocketsUpdater.cs index 10237d4..d466b8e 100644 --- a/server/RdtClient.Service/BackgroundServices/WebsocketsUpdater.cs +++ b/server/RdtClient.Service/BackgroundServices/WebsocketsUpdater.cs @@ -14,14 +14,15 @@ public class WebsocketsUpdater(ILogger logger, IServiceProvid await Task.Delay(1000, stoppingToken); } - var scope = serviceProvider.CreateScope(); - - var remoteService = scope.ServiceProvider.GetRequiredService(); + logger.LogInformation("WebsocketsUpdater started."); while (!stoppingToken.IsCancellationRequested) { try { + using var scope = serviceProvider.CreateScope(); + var remoteService = scope.ServiceProvider.GetRequiredService(); + await remoteService.Update(); } catch (Exception ex) @@ -29,7 +30,11 @@ public class WebsocketsUpdater(ILogger logger, IServiceProvid logger.LogError(ex, $"Unexpected error occurred in WebsocketsUpdater: {ex.Message}"); } - await Task.Delay(TimeSpan.FromSeconds(1), stoppingToken); + var delay = RdtHub.HasConnections + ? TimeSpan.FromSeconds(1) + : TimeSpan.FromSeconds(5); + + await Task.Delay(delay, stoppingToken); } logger.LogInformation("WebsocketsUpdater stopped.");