feat(api, nextRun): при изменении расписания в jobGroup, отправляется запрос на обновление nextRun в связанных шаблонах.
This commit is contained in:
@@ -71,7 +71,7 @@ namespace PARR.NextRun
|
||||
return;
|
||||
}
|
||||
|
||||
await UpdateNextRunAsync(query.JobGroupId);
|
||||
await UpdateNextRunAsync(query);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -95,7 +95,7 @@ namespace PARR.NextRun
|
||||
/// </summary>
|
||||
/// <param name="jobGroupId"></param>
|
||||
/// <returns></returns>
|
||||
private async Task UpdateNextRunAsync(Guid jobGroupId)
|
||||
private async Task UpdateNextRunAsync(NextRunUpdateMq queryMq)
|
||||
{
|
||||
using var scope = serviceProvider.CreateScope();
|
||||
|
||||
@@ -105,11 +105,11 @@ namespace PARR.NextRun
|
||||
// Берем шаблоны только в статусе Used
|
||||
var templates = await templateService.Get()
|
||||
.Where(t =>
|
||||
t.Job!.GroupId == jobGroupId
|
||||
t.Job!.GroupId == queryMq.JobGroupId
|
||||
&& t.StatusTypeId == TemplateStatusTypeEnum.Used
|
||||
).ToListAsync();
|
||||
|
||||
logger.LogInformation("Найдено шаблонов {count} шт. в статусе Used в группе работ {jobGroupId}", templates.Count, jobGroupId);
|
||||
logger.LogInformation("Найдено шаблонов {count} шт. в статусе Used в группе работ {jobGroupId}", templates.Count, queryMq.JobGroupId);
|
||||
|
||||
if (!templates.Any())
|
||||
return;
|
||||
@@ -145,18 +145,18 @@ namespace PARR.NextRun
|
||||
|
||||
if (updatedTemplates > 0)
|
||||
{
|
||||
if (await templateService.CommitAsync(new HistoryInitiator { InitiatorComment = "Запрос из очереди на перерасчет всех nextRun для jobGroupId", InitiatorParrComponentId = ParrComponentsEnum.NextRun }))
|
||||
if (await templateService.CommitAsync(queryMq.Initiator))
|
||||
{
|
||||
logger.LogInformation("Успешно обновлены nextRun у {count} шаблонов, группа работ: {jobGroupId}", updatedTemplates, jobGroupId);
|
||||
logger.LogInformation("Успешно обновлены nextRun у {count} шаблонов, группа работ: {jobGroupId}", updatedTemplates, queryMq.JobGroupId);
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.LogError("При сохранении nextRun для шаблонов {count} шт, произошла ошибка при сохранении в БД. JobGroupId: {jobGroupId}", updatedTemplates, jobGroupId);
|
||||
logger.LogError("При сохранении nextRun для шаблонов {count} шт, произошла ошибка при сохранении в БД. JobGroupId: {jobGroupId}", updatedTemplates, queryMq.JobGroupId);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.LogInformation("Для группы работ {jobGroupId}, все nextRun актуальны. Нечего обновлять.", jobGroupId);
|
||||
logger.LogInformation("Для группы работ {jobGroupId}, все nextRun актуальны. Нечего обновлять.", queryMq.JobGroupId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user