feat(esppSync): обновлена логика синхронизации. Менять статус на Update, только если предыдущий статус не был Update (тогда сохраняется число попыток и статусы ошибок).

This commit is contained in:
Mikhail Trubnikov
2024-08-02 09:38:05 +10:00
parent cefbdcc8e6
commit aa5cf63fca

View File

@@ -84,12 +84,34 @@ namespace PARR.EsppSync
{ {
logger.LogInformation($"Есть изменения, требуется обновление. {esppObject.TemplateName}"); logger.LogInformation($"Есть изменения, требуется обновление. {esppObject.TemplateName}");
SetUpdateStatus(ref template, robotConfigurationService, esppObject.Robot); var config = robotConfigurationService.GetFromTemplateByRobotCode(esppObject.Robot, ref template);
if (!await templateService.CommitAsync()) // Если предыдущий статус был Create или Ок, то ставим ему Update
logger.LogError($"Не удалось изменить запись Template {template.Name}, Robot: {esppObject.Robot}"); // пусть даже Create завершился с ошибками, но раз он уже есть в ЕСПП, то изменим на Update, сбросим все счетчики и пусть попробует обновить и исправить все
if (config.TaskStatusCode != (int)TaskStatusEnum.Updating)
{
SetUpdateStatus(ref template, robotConfigurationService, esppObject.Robot);
if (!await templateService.CommitAsync())
logger.LogError($"Не удалось изменить запись Template {template.Name}, Robot: {esppObject.Robot}");
else
logger.LogInformation($"Установлен принудительный статус {TaskStatusEnum.Updating}, Template {template.Name}, Robot: {esppObject.Robot}");
}
else else
logger.LogInformation($"Установлен принудительный статус {TaskStatusEnum.Updating}, Template {template.Name}, Robot: {esppObject.Robot}"); {
// Если пред статус был Update, то ничего не делаем, так его и оставляем, не сбрасывам кол-во попыток и ошибок
logger.LogInformation($"Есть изменения в Template {template.Name}, но предыдущий статус TaskStatusCode: {(TaskStatusEnum)config.TaskStatusCode}. Не меняем статус, будем разбираться вручную.");
}
#region Old logic
//SetUpdateStatus(ref template, robotConfigurationService, esppObject.Robot);
//if (!await templateService.CommitAsync())
// logger.LogError($"Не удалось изменить запись Template {template.Name}, Robot: {esppObject.Robot}");
//else
// logger.LogInformation($"Установлен принудительный статус {TaskStatusEnum.Updating}, Template {template.Name}, Robot: {esppObject.Robot}");
#endregion
}//надо ли проверять если не изменился, но был статус Updating не понятно. Доверяем роботу пока, что после окончания работ он точно сообщит }//надо ли проверять если не изменился, но был статус Updating не понятно. Доверяем роботу пока, что после окончания работ он точно сообщит
else else
{ {