feat(aititMainLoader): Сделана основная логика загрущки данных из АИХ ИТ в очередь сообщений

This commit is contained in:
Mikhail Kuznetsov
2025-05-19 10:16:09 +10:00
parent b03af638f6
commit 082bc9bf15
16 changed files with 600 additions and 10 deletions

View File

@@ -1,7 +1,7 @@
using PARR.AIHITLoader;
using Serilog;
using PARR.AIHITLoaderWorker;
using Elastic.CommonSchema.Serilog;
using PARR.AIHITLoaderWorker;
using PARR.AIHITMainLoader;
using Serilog;
var builder = Host.CreateApplicationBuilder();
@@ -22,7 +22,7 @@ builder.Services.AddLogging(config =>
config.AddSerilog(logger.CreateLogger());
});
builder.Services.InstallAihitLoaderServices(builder.Configuration);
builder.Services.InstallAihitMainLoaderServices(builder.Configuration);
builder.Services.AddHostedService<Worker>();

View File

@@ -1,21 +1,33 @@
using PARR.AIHITLoader;
using PARR.AIHITMainLoader;
namespace PARR.AIHITLoaderWorker
{
public class Worker : BackgroundService
{
private readonly ILogger<Worker> _logger;
private readonly IAihitLoader aihitLoader;
private readonly IServiceProvider serviceProvider;
public Worker(ILogger<Worker> logger, IAihitLoader aihitLoader)
public Worker(
ILogger<Worker> logger,
IServiceProvider serviceProvider
)
{
_logger = logger;
this.aihitLoader = aihitLoader;
this.serviceProvider = serviceProvider;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
await aihitLoader.StartAsync();
using (var scope = serviceProvider.CreateScope())
{
var aihitLoader = scope.ServiceProvider.GetService<IAihitMainLoader>();
if (aihitLoader == null)
throw new Exception("<22><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IAihitMainLoader, scope.ServiceProvider.GetService<IAihitMainLoader>()");
await aihitLoader.StartAsync();
}
}
}
}