only send system info from main server
This commit is contained in:
@@ -22,8 +22,8 @@ namespace MareSynchronosServer
|
|||||||
var services = scope.ServiceProvider;
|
var services = scope.ServiceProvider;
|
||||||
using var context = services.GetRequiredService<MareDbContext>();
|
using var context = services.GetRequiredService<MareDbContext>();
|
||||||
|
|
||||||
var noDbActions = Environment.GetEnvironmentVariable("NODBACTIONS");
|
var secondaryServer = Environment.GetEnvironmentVariable("SECONDARY_SERVER");
|
||||||
if (string.IsNullOrEmpty(noDbActions) || noDbActions == "0")
|
if (string.IsNullOrEmpty(secondaryServer) || secondaryServer == "0")
|
||||||
{
|
{
|
||||||
context.Database.Migrate();
|
context.Database.Migrate();
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
|
|||||||
@@ -123,7 +123,10 @@ namespace MareSynchronosServer
|
|||||||
var redis = mareConfig.GetValue<string>("RedisConnectionString", string.Empty);
|
var redis = mareConfig.GetValue<string>("RedisConnectionString", string.Empty);
|
||||||
if (!string.IsNullOrEmpty(redis))
|
if (!string.IsNullOrEmpty(redis))
|
||||||
{
|
{
|
||||||
signalRserviceBuilder.AddStackExchangeRedis(redis);
|
signalRserviceBuilder.AddStackExchangeRedis(redis, options =>
|
||||||
|
{
|
||||||
|
options.Configuration.ChannelPrefix = "MareSynchronos";
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ using MareSynchronos.API;
|
|||||||
using MareSynchronosServer.Hubs;
|
using MareSynchronosServer.Hubs;
|
||||||
using MareSynchronosShared.Data;
|
using MareSynchronosShared.Data;
|
||||||
using MareSynchronosShared.Metrics;
|
using MareSynchronosShared.Metrics;
|
||||||
|
using MareSynchronosShared.Models;
|
||||||
using MareSynchronosShared.Protos;
|
using MareSynchronosShared.Protos;
|
||||||
using Microsoft.AspNetCore.SignalR;
|
using Microsoft.AspNetCore.SignalR;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
@@ -45,28 +46,34 @@ public class SystemInfoService : IHostedService, IDisposable
|
|||||||
ThreadPool.GetAvailableThreads(out int workerThreads, out int ioThreads);
|
ThreadPool.GetAvailableThreads(out int workerThreads, out int ioThreads);
|
||||||
_logger.LogInformation("ThreadPool: {workerThreads} workers available, {ioThreads} IO workers available", workerThreads, 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.GaugeAvailableWorkerThreads, workerThreads);
|
||||||
_mareMetrics.SetGaugeTo(MetricsAPI.GaugeAvailableIOWorkerThreads, ioThreads);
|
_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,
|
using var scope = _services.CreateScope();
|
||||||
CpuUsage = 0,
|
using var db = scope.ServiceProvider.GetService<MareDbContext>()!;
|
||||||
RAMUsage = 0,
|
|
||||||
NetworkIn = 0,
|
|
||||||
NetworkOut = 0,
|
|
||||||
OnlineUsers = users,
|
|
||||||
UploadedFiles = 0
|
|
||||||
};
|
|
||||||
|
|
||||||
_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)
|
public Task StopAsync(CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
_timer?.Change(Timeout.Infinite, 0);
|
_timer?.Change(Timeout.Infinite, 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user