43 lines
1.7 KiB
C#
43 lines
1.7 KiB
C#
using Microsoft.Extensions.Logging;
|
|
using PARR.Core.Common.Interfaces.RabbitServices;
|
|
using PARR.Domain.Common.Rabbit.Messages.TemplateMatching;
|
|
using PARR.TemplateMatcher.Services.Interfaces;
|
|
using PARR.TemplateMatcher.Settings;
|
|
|
|
namespace PARR.TemplateMatcher.Services.Implementations;
|
|
|
|
internal class TemplateUpdaterMqSender : ITemplateUpdaterMqSender
|
|
{
|
|
private readonly ILogger<TemplateUpdaterMqSender> logger;
|
|
private readonly IRabbitService mqService;
|
|
private readonly MqSettings mqSettings;
|
|
|
|
public TemplateUpdaterMqSender(
|
|
ILogger<TemplateUpdaterMqSender> logger,
|
|
IRabbitService mqService,
|
|
MqSettings mqSettings
|
|
)
|
|
{
|
|
this.logger = logger;
|
|
this.mqService = mqService;
|
|
this.mqSettings = mqSettings;
|
|
}
|
|
|
|
public async Task SendTemplateUpdateMessageAsync(TemplateUpdaterMessage updateRequest)
|
|
{
|
|
logger.LogDebug("Отправка сообщения в очередь '{Queue}' для шаблона {TemplateId}",
|
|
mqSettings.TemplateUpdater.QueueName, updateRequest.TemplateId);
|
|
|
|
var result = await mqService.SendAsync(mqSettings.TemplateUpdater, new List<object> { updateRequest });
|
|
|
|
if (result.IsSuccess)
|
|
{
|
|
logger.LogInformation("Отправлен запрос на обновление шаблона {TemplateId}", updateRequest.TemplateId);
|
|
}
|
|
else
|
|
{
|
|
logger.LogError("Ошибка при отправке запроса на обновление шаблона {TemplateId} в очередь '{Queue}'.",
|
|
updateRequest.TemplateId, mqSettings.TemplateUpdater.QueueName);
|
|
}
|
|
}
|
|
} |