From 59470b49d17466800a7250824fc8585e3e1fae56 Mon Sep 17 00:00:00 2001 From: "HOME-LAPTOP\\kshkulev" Date: Fri, 24 Oct 2025 17:39:10 +0900 Subject: [PATCH] Initialize broker client in background service --- .../OperationExecutionService.cs | 24 ++++++++++++++++++- .../Components/Pages/Registry/Common.razor | 2 +- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/Hcs.WebApp/BackgroundServices/OperationExecutionService.cs b/Hcs.WebApp/BackgroundServices/OperationExecutionService.cs index d5496df..bdbd848 100644 --- a/Hcs.WebApp/BackgroundServices/OperationExecutionService.cs +++ b/Hcs.WebApp/BackgroundServices/OperationExecutionService.cs @@ -1,4 +1,8 @@ -using Hcs.WebApp.Services; +using Hcs.Broker; +using Hcs.Broker.Logger; +using Hcs.Broker.MessageCapturer; +using Hcs.WebApp.Config; +using Hcs.WebApp.Services; namespace Hcs.WebApp.BackgroundServices { @@ -9,10 +13,16 @@ namespace Hcs.WebApp.BackgroundServices private readonly OperationExecutionState state = state; private readonly IServiceScopeFactory scopeFactory = scopeFactory; + private Broker.Logger.ILogger logger; + private IMessageCapturer messageCapturer; + private IClient client; + protected override async Task ExecuteAsync(CancellationToken stoppingToken) { await InitializeState(); + InitializeClient(); + var scope = scopeFactory.CreateScope(); var operationService = scope.ServiceProvider.GetRequiredService(); @@ -38,5 +48,17 @@ namespace Hcs.WebApp.BackgroundServices state.EnqueueOperation(operation); } } + + private void InitializeClient() + { + logger = new ActionLogger(); + messageCapturer = new FileMessageCapturer("messages", logger); + + using var scope = scopeFactory.CreateScope(); + var configuration = scope.ServiceProvider.GetRequiredService(); + var config = configuration.GetSection("BrokerConfig").Get()!; + var clientProvider = scope.ServiceProvider.GetRequiredService(); + client = clientProvider.CreateClient(config, logger, messageCapturer); + } } } diff --git a/Hcs.WebApp/Components/Pages/Registry/Common.razor b/Hcs.WebApp/Components/Pages/Registry/Common.razor index 4aaa95c..24d9566 100644 --- a/Hcs.WebApp/Components/Pages/Registry/Common.razor +++ b/Hcs.WebApp/Components/Pages/Registry/Common.razor @@ -156,7 +156,7 @@ break; case CommonPageState.OperationWaiting: - syncText = "Синхронизация в процессе"; + syncText = "Идет синхронизация..."; break; } }