From 7ab7e13d96b53282842fe0f5f27e7a69018c9638 Mon Sep 17 00:00:00 2001 From: Stanley Dimant Date: Thu, 8 Sep 2022 20:46:14 +0200 Subject: [PATCH] only send system info from main server --- .../MareSynchronosServer/Program.cs | 4 +-- .../MareSynchronosServer/Startup.cs | 5 ++- .../MareSynchronosServer/SystemInfoService.cs | 35 +++++++++++-------- 3 files changed, 27 insertions(+), 17 deletions(-) diff --git a/MareSynchronosServer/MareSynchronosServer/Program.cs b/MareSynchronosServer/MareSynchronosServer/Program.cs index 61dfd08..01228a6 100644 --- a/MareSynchronosServer/MareSynchronosServer/Program.cs +++ b/MareSynchronosServer/MareSynchronosServer/Program.cs @@ -22,8 +22,8 @@ namespace MareSynchronosServer var services = scope.ServiceProvider; using var context = services.GetRequiredService(); - var noDbActions = Environment.GetEnvironmentVariable("NODBACTIONS"); - if (string.IsNullOrEmpty(noDbActions) || noDbActions == "0") + var secondaryServer = Environment.GetEnvironmentVariable("SECONDARY_SERVER"); + if (string.IsNullOrEmpty(secondaryServer) || secondaryServer == "0") { context.Database.Migrate(); context.SaveChanges(); diff --git a/MareSynchronosServer/MareSynchronosServer/Startup.cs b/MareSynchronosServer/MareSynchronosServer/Startup.cs index e978091..9acc3da 100644 --- a/MareSynchronosServer/MareSynchronosServer/Startup.cs +++ b/MareSynchronosServer/MareSynchronosServer/Startup.cs @@ -123,7 +123,10 @@ namespace MareSynchronosServer var redis = mareConfig.GetValue("RedisConnectionString", string.Empty); if (!string.IsNullOrEmpty(redis)) { - signalRserviceBuilder.AddStackExchangeRedis(redis); + signalRserviceBuilder.AddStackExchangeRedis(redis, options => + { + options.Configuration.ChannelPrefix = "MareSynchronos"; + }); } } diff --git a/MareSynchronosServer/MareSynchronosServer/SystemInfoService.cs b/MareSynchronosServer/MareSynchronosServer/SystemInfoService.cs index b960906..c79c0cb 100644 --- a/MareSynchronosServer/MareSynchronosServer/SystemInfoService.cs +++ b/MareSynchronosServer/MareSynchronosServer/SystemInfoService.cs @@ -6,6 +6,7 @@ using MareSynchronos.API; using MareSynchronosServer.Hubs; using MareSynchronosShared.Data; using MareSynchronosShared.Metrics; +using MareSynchronosShared.Models; using MareSynchronosShared.Protos; using Microsoft.AspNetCore.SignalR; using Microsoft.Extensions.DependencyInjection; @@ -45,28 +46,34 @@ public class SystemInfoService : IHostedService, IDisposable ThreadPool.GetAvailableThreads(out int workerThreads, out int ioThreads); _logger.LogInformation("ThreadPool: {workerThreads} workers available, {ioThreads} IO workers available", workerThreads, ioThreads); - using var scope = _services.CreateScope(); - using var db = scope.ServiceProvider.GetService()!; - _mareMetrics.SetGaugeTo(MetricsAPI.GaugeAvailableWorkerThreads, workerThreads); _mareMetrics.SetGaugeTo(MetricsAPI.GaugeAvailableIOWorkerThreads, ioThreads); - var users = db.Users.Count(c => c.CharacterIdentification != null); - SystemInfoDto = new SystemInfoDto() + var secondaryServer = Environment.GetEnvironmentVariable("SECONDARY_SERVER"); + if (secondaryServer == "1") { - CacheUsage = 0, - CpuUsage = 0, - RAMUsage = 0, - NetworkIn = 0, - NetworkOut = 0, - OnlineUsers = users, - UploadedFiles = 0 - }; + using var scope = _services.CreateScope(); + using var db = scope.ServiceProvider.GetService()!; - _hubContext.Clients.All.SendAsync(Api.OnUpdateSystemInfo, SystemInfoDto); + var users = db.Users.Count(c => c.CharacterIdentification != null); + + SystemInfoDto = new SystemInfoDto() + { + CacheUsage = 0, + CpuUsage = 0, + RAMUsage = 0, + NetworkIn = 0, + NetworkOut = 0, + OnlineUsers = users, + UploadedFiles = 0 + }; + + _hubContext.Clients.All.SendAsync(Api.OnUpdateSystemInfo, SystemInfoDto); + } } + public Task StopAsync(CancellationToken cancellationToken) { _timer?.Change(Timeout.Infinite, 0);