feat(dal, templateMatcher): небольшое улучшение быстродействия синхронизации, ShortcodesService добавлен проброс unitInTemplates для корректного подстановки шорткода %МАКС:...%
This commit is contained in:
@@ -15,10 +15,8 @@ using PARR.DAL.NextRunServices;
|
||||
using PARR.DAL.Services.Interfaces;
|
||||
using PARR.DAL.Services.Interfaces.Job;
|
||||
using PARR.DAL.Services.Interfaces.Unit;
|
||||
using PARR.DAL.TransformServices;
|
||||
using PARR.TemplateMatcher.Services.Interfaces;
|
||||
using PARR.TemplateMatcher.Settings;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace PARR.TemplateMatcher.Services.Implementations;
|
||||
|
||||
@@ -41,7 +39,6 @@ internal class SimpleTemplateSynchronizer : ITemplateSynchronizer
|
||||
private readonly ITemplateService templateService;
|
||||
private readonly IJobService jobService;
|
||||
private readonly ITemplateReuser templateReuser;
|
||||
//private readonly IEsppScheduleTransformService esppScheduleTransformService;
|
||||
private readonly ITemplateDeactivator templateDeactivator;
|
||||
private readonly ITemplateNameNormalizer templateNameNormalizer;
|
||||
private readonly ITemplateUpdaterMqSender templateUpdaterMqSender;
|
||||
@@ -61,7 +58,6 @@ internal class SimpleTemplateSynchronizer : ITemplateSynchronizer
|
||||
IJobService jobService,
|
||||
ITemplateReuser templateReuser,
|
||||
IShortcodesService shortcodesService,
|
||||
//IEsppScheduleTransformService esppScheduleTransformService,
|
||||
IUnitRegionalEkPtkGroupService regionalEkPtkGroupService,
|
||||
IUnitFieldService unitFieldService,
|
||||
ITemplateDeactivator templateDeactivator,
|
||||
@@ -79,7 +75,6 @@ internal class SimpleTemplateSynchronizer : ITemplateSynchronizer
|
||||
this.templateService = templateService;
|
||||
this.jobService = jobService;
|
||||
this.templateReuser = templateReuser;
|
||||
//this.esppScheduleTransformService = esppScheduleTransformService;
|
||||
this.templateDeactivator = templateDeactivator;
|
||||
this.templateNameNormalizer = templateNameNormalizer;
|
||||
this.templateUpdaterMqSender = templateUpdaterMqSender;
|
||||
@@ -228,7 +223,6 @@ internal class SimpleTemplateSynchronizer : ITemplateSynchronizer
|
||||
};
|
||||
|
||||
var expectedName = await templateNameNormalizer.GetNormalizedTemplateNameAsync(tempTemplateForName);
|
||||
//var nextRun = await GetNextRunAsync(job);
|
||||
var nextRun = await nextRunService.GetNextRunForTemplateAsync(reusableTemplate.Id, true);
|
||||
|
||||
var updateRequest = new TemplateUpdaterMq
|
||||
@@ -264,7 +258,6 @@ internal class SimpleTemplateSynchronizer : ITemplateSynchronizer
|
||||
{
|
||||
logger.LogDebug("Шаблон {TemplateId} требует обновления имени: старое = '{OldName}', новое = '{NewName}'", template.Id, template.Name, expectedName);
|
||||
|
||||
//var nextRun = await GetNextRunAsync(job, template.NextRun);
|
||||
var nextRun = await nextRunService.GetNextRunForTemplateAsync(template.Id, false);
|
||||
|
||||
var updateRequest = new TemplateUpdaterMq
|
||||
@@ -283,7 +276,7 @@ internal class SimpleTemplateSynchronizer : ITemplateSynchronizer
|
||||
UnitsInTemplate = new List<Guid>() // для простого шаблона
|
||||
};
|
||||
|
||||
await templateUpdaterMqSender.SendTemplateUpdateMessageAsync(updateRequest);
|
||||
await templateUpdaterMqSender.SendTemplateUpdateMessageAsync(updateRequest)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -403,7 +396,6 @@ internal class SimpleTemplateSynchronizer : ITemplateSynchronizer
|
||||
{
|
||||
logger.LogDebug("Шаблон {TemplateId} требует обновления имени: старое = '{OldName}', новое = '{NewName}'", template.Id, template.Name, expectedName);
|
||||
|
||||
//var nextRun = await GetNextRunAsync(job, template.NextRun);
|
||||
var nextRun = await nextRunService.GetNextRunForTemplateAsync(template.Id, false);
|
||||
|
||||
var updateRequest = new TemplateUpdaterMq
|
||||
@@ -510,7 +502,6 @@ internal class SimpleTemplateSynchronizer : ITemplateSynchronizer
|
||||
continue;
|
||||
}
|
||||
|
||||
//var nextRun = await GetNextRunAsync(unusedJob);
|
||||
var nextRun = await nextRunService.GetNextRunForTemplateAsync(template.Id, false);
|
||||
|
||||
var updateRequest = new TemplateUpdaterMq
|
||||
@@ -546,6 +537,7 @@ internal class SimpleTemplateSynchronizer : ITemplateSynchronizer
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private async Task<string> GenerateUnusedTemplateNameAsync(Template template, Job unusedJob)
|
||||
{
|
||||
var tempJob = new Job
|
||||
@@ -583,6 +575,7 @@ internal class SimpleTemplateSynchronizer : ITemplateSynchronizer
|
||||
return await templateNameNormalizer.GetNormalizedTemplateNameAsync(tempTemplateForName);
|
||||
}
|
||||
|
||||
|
||||
private async Task CreateSimpleTemplateAsync(Guid jobId, Guid unitId, HistoryInitiator initiator)
|
||||
{
|
||||
logger.LogInformation("Создание нового простого шаблона для Job {JobId}, UnitId {UnitId}.", jobId, unitId);
|
||||
@@ -595,18 +588,14 @@ internal class SimpleTemplateSynchronizer : ITemplateSynchronizer
|
||||
HistoryInitiator = initiator
|
||||
};
|
||||
|
||||
var msg = JsonSerializer.Serialize(mqRequest);
|
||||
var result = await mqService.SendAsync(mqSettings.TemplateGenerator, new[] { msg });
|
||||
//var msg = JsonSerializer.Serialize(mqRequest);
|
||||
//var result = await mqService.SendAsync(mqSettings.TemplateGenerator, new[] { msg });
|
||||
var result = await mqService.SendAsync(mqSettings.TemplateGenerator, new List<object> { mqRequest });
|
||||
|
||||
if (!result.IsSuccess)
|
||||
logger.LogError("Ошибка отправки команды создания простого шаблона для Job {JobId}, UnitId {UnitId}.", jobId, unitId);
|
||||
}
|
||||
|
||||
//private async Task<DateTimeOffset> GetNextRunAsync(Job job, DateTimeOffset? currentNextRun = null)
|
||||
//{
|
||||
// var referenceDate = job.Group?.ReferenceDate ?? DateTimeOffset.UtcNow;
|
||||
// return await esppScheduleTransformService.GetNextDateAsync(job.GroupId, referenceDate);
|
||||
//}
|
||||
|
||||
private async Task UpdateMatchingStatusAsync(Guid jobId, string comment)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user