feat(core,dal,domain,snapshotWorker): Воркер по управлению снапшотами. Создание сгапшотов для таблицы RobotConfigurations

This commit is contained in:
Mikhail Trubnikov
2026-07-13 15:29:48 +10:00
parent 9194d127d2
commit 50556ef605
28 changed files with 4953 additions and 26 deletions

View File

@@ -0,0 +1,43 @@
using Elastic.CommonSchema.Serilog;
using PARR.Core;
using PARR.Core.Services.Snapshots.Interfaces;
using PARR.DAL;
using PARR.Infrastructure;
using PARR.SnapshotWorker;
using PARR.SnapshotWorker.Settings;
using Serilog;
var builder = Host.CreateApplicationBuilder(args);
builder.Services.AddLogging(config =>
{
config.ClearProviders();
var logger = new LoggerConfiguration();
if (builder.Environment.IsProduction())
logger.WriteTo.Console(new EcsTextFormatter());
else
logger.WriteTo.Console();
logger.ReadFrom.Configuration(builder.Configuration);
config.AddSerilog(logger.CreateLogger());
});
var commonSettings = new CommonSettings();
builder.Configuration.GetSection(nameof(CommonSettings)).Bind(commonSettings);
builder.Services.AddSingleton(commonSettings);
builder.Services.AddSingleton<ISnapshotSettings>(commonSettings);
builder.Services.AddDalServices(builder.Configuration);
builder.Services.AddCoreServices(builder.Configuration);
builder.Services.AddInfrastructureServices(builder.Configuration);
builder.Configuration.AddDalConfigurations(builder.Services);
builder.Services.AddDallSettings(builder.Configuration);
builder.Services.AddHostedService<Worker>();
var host = builder.Build();
host.Run();