feat(bll, all): обновлена библиотека RabbitMq.Client до версии 7.1.2. Обновлен MqServiceV2. В IMqSettings добавлен параметр PrefetchCount - макс кол-во одновременных обработок очередей. Обновлены связанные проекты под новый MqService. В проектах Aihit, SyncTemplate, SyncSchedule установлен параметр в конфиг PrefetchCount =100

This commit is contained in:
Mikhail Trubnikov
2025-08-20 14:10:22 +10:00
parent cdd11cdb4d
commit 85798c0956
58 changed files with 621 additions and 341 deletions

View File

@@ -15,21 +15,25 @@ namespace PARR.EsppTemplateSync
private readonly GlobalSettings globalSettings;
private readonly IMqService mqService;
private readonly SettingsFromDb settingsFromDb;
private readonly IServiceProvider serviceProvider;
private readonly ISyncService<EsppObjectTemplate> syncService;
//private readonly IServiceProvider serviceProvider;
public TemplateMQSyncer(
ILogger<TemplateMQSyncer> logger,
GlobalSettings globalSettings,
IMqService mqService,
SettingsFromDb settingsFromDb,
IServiceProvider serviceProvider
ISyncService<EsppObjectTemplate> syncService
//IServiceProvider serviceProvider
)
{
this.logger = logger;
this.globalSettings = globalSettings;
this.mqService = mqService;
this.settingsFromDb = settingsFromDb;
this.serviceProvider = serviceProvider;
this.syncService = syncService;
//this.serviceProvider = serviceProvider;
if (globalSettings.MqSettings == null)
{
logger.LogError("Нет секции настроек хранилища. MqSettings, EsppTemplates");
@@ -37,10 +41,10 @@ namespace PARR.EsppTemplateSync
}
}
public void Start()
public async Task StartAsync()
{
var isConnected = mqService.InitConsumer(globalSettings!.MqSettings!, SyncTemplateAsync);
var isConnected = await mqService.InitConsumerAsync(globalSettings!.MqSettings!, SyncTemplateAsync);
if (!isConnected)
throw new Exception("Ошибка при подключении к RabbitMq");
@@ -48,9 +52,9 @@ namespace PARR.EsppTemplateSync
logger.LogInformation($"Запущена проверка очереди {globalSettings.MqSettings!.QueueName}.");
}
public void Stop()
public async Task StopAsync()
{
mqService.Dispose();
await mqService.DisposeAsync();
logger.LogInformation($"=== === === Соединение с очередью {globalSettings.MqSettings!.QueueName} закрыто === === ===");
}
@@ -58,16 +62,16 @@ namespace PARR.EsppTemplateSync
private async Task SyncTemplateAsync(string str)
{
using (var scope = serviceProvider.CreateScope())
{
var syncService = scope.ServiceProvider.GetService<ISyncService<EsppObjectTemplate>>();
//using (var scope = serviceProvider.CreateScope())
//{
// var syncService = scope.ServiceProvider.GetService<ISyncService<EsppObjectTemplate>>();
if (syncService == null)
throw new Exception($"Не смог получить серивс {nameof(ITemplateSyncer)}");
// if (syncService == null)
// throw new Exception($"Не смог получить серивс {nameof(ITemplateSyncer)}");
await syncService.SyncEsppObjectAsync(str, ParseStrToEsppObject, ConvertDbObjToEsppObj);
//}
await syncService.SyncEsppObjectAsync(str, ParseStrToEsppObject, ConvertDbObjToEsppObj);
}
}