only send system info from main server

This commit is contained in:
Stanley Dimant
2022-09-08 20:46:14 +02:00
parent 7672df275a
commit 7ab7e13d96
3 changed files with 27 additions and 17 deletions

View File

@@ -22,8 +22,8 @@ namespace MareSynchronosServer
var services = scope.ServiceProvider;
using var context = services.GetRequiredService<MareDbContext>();
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();

View File

@@ -123,7 +123,10 @@ namespace MareSynchronosServer
var redis = mareConfig.GetValue<string>("RedisConnectionString", string.Empty);
if (!string.IsNullOrEmpty(redis))
{
signalRserviceBuilder.AddStackExchangeRedis(redis);
signalRserviceBuilder.AddStackExchangeRedis(redis, options =>
{
options.Configuration.ChannelPrefix = "MareSynchronos";
});
}
}

View File

@@ -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<MareDbContext>()!;
_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<MareDbContext>()!;
_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);