feat(templateUpdater): Добавлена предварительная запись в базу данных обновляемой информации шаблона для корректного расчета даты и времени следующего запуска в группированных работах
This commit is contained in:
@@ -59,7 +59,7 @@ namespace PARR.DAL.Services.Implementations
|
|||||||
: $"Unknown ({taskStatusValue})";
|
: $"Unknown ({taskStatusValue})";
|
||||||
|
|
||||||
logger.LogInformation("Нельзя установить статус {newStatus} для конфигурации {configurationId}, templateId: {templateId}, так как текущий статус {currentStatus}",
|
logger.LogInformation("Нельзя установить статус {newStatus} для конфигурации {configurationId}, templateId: {templateId}, так как текущий статус {currentStatus}",
|
||||||
updatingStatus, configuration.Id, configuration.TemplateId, configuration.TaskStatusCode);
|
updatingStatus, configuration.Id, configuration.TemplateId, taskStatusName);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -441,6 +441,11 @@ internal class GroupedTemplateSynchronizer : ITemplateSynchronizer
|
|||||||
|
|
||||||
var expectedName = await templateNameNormalizer.GetNormalizedTemplateNameAsync(tempTemplateForName);
|
var expectedName = await templateNameNormalizer.GetNormalizedTemplateNameAsync(tempTemplateForName);
|
||||||
|
|
||||||
|
//var existingTemplateByName = await templateService.Get().AsNoTracking()
|
||||||
|
// .FirstOrDefaultAsync(t => EF.Functions.ILike(t.Name, expectedName));
|
||||||
|
//if (existingTemplateByName != null)
|
||||||
|
// logger.LogInformation("Переиспользован шаблон");
|
||||||
|
|
||||||
var updateRequest = new TemplateUpdaterMq
|
var updateRequest = new TemplateUpdaterMq
|
||||||
{
|
{
|
||||||
TemplateId = reusableTemplate.Id,
|
TemplateId = reusableTemplate.Id,
|
||||||
|
|||||||
@@ -88,28 +88,6 @@ namespace PARR.TemplateUpdater.Services
|
|||||||
scheduleIsChanged = true;
|
scheduleIsChanged = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
var nextRun = await nextRunService.GetNextRunForTemplateAsync(template.Id, query.IsNew);
|
|
||||||
if (!nextRun.HasValue)
|
|
||||||
{
|
|
||||||
logger.LogError("Ошибка при расчете нового nextRun (вернулся null) для шаблона {templateId}, {templateName}", template.Id, template.Name);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//if (template.NextRun != query.NextRun)
|
|
||||||
//{
|
|
||||||
// template.NextRun = query.NextRun;
|
|
||||||
// scheduleIsChanged = true;
|
|
||||||
//}
|
|
||||||
|
|
||||||
if (template.NextRun != nextRun.Value)
|
|
||||||
{
|
|
||||||
template.LastRun = template.NextRun;
|
|
||||||
template.NextRun = nextRun.Value;
|
|
||||||
scheduleIsChanged = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (template.UnitId != query.UnitId)
|
if (template.UnitId != query.UnitId)
|
||||||
{
|
{
|
||||||
template.UnitId = query.UnitId;
|
template.UnitId = query.UnitId;
|
||||||
@@ -151,6 +129,28 @@ namespace PARR.TemplateUpdater.Services
|
|||||||
// Поскольку коллекция изменилась — шаблон считается изменённым
|
// Поскольку коллекция изменилась — шаблон считается изменённым
|
||||||
templateIsChanged = true;
|
templateIsChanged = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Для правильного расчета shortcod'ов в БД должны быть сохранены данные UnitInTemplates, JobId, UnitId и т.д.
|
||||||
|
if (templateIsChanged && !await templateService.CommitAsync(query.Initiator))
|
||||||
|
{
|
||||||
|
logger.LogError("Не удалось сохранить изменения в БД. {QueryType}: {Query}", nameof(TemplateUpdaterMq), query.ToJson());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var nextRun = await nextRunService.GetNextRunForTemplateAsync(template.Id, query.IsNew);
|
||||||
|
if (!nextRun.HasValue)
|
||||||
|
{
|
||||||
|
logger.LogError("Ошибка при расчете нового nextRun (вернулся null) для шаблона {templateId}, {templateName}", template.Id, template.Name);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (template.NextRun != nextRun.Value)
|
||||||
|
{
|
||||||
|
template.LastRun = template.NextRun;
|
||||||
|
template.NextRun = nextRun.Value;
|
||||||
|
scheduleIsChanged = true;
|
||||||
|
}
|
||||||
|
|
||||||
// === конец обработки UnitsInTemplate ===
|
// === конец обработки UnitsInTemplate ===
|
||||||
|
|
||||||
if (templateIsChanged)
|
if (templateIsChanged)
|
||||||
|
|||||||
Reference in New Issue
Block a user