- SimpleTemplateSynchronizer и GroupedTemplateSynchronizer переведены на паттерн Pipeline с разделением на Read/Write этапы - Выделены контракты этапов (ISimpleSyncStage, IGroupedSyncStage) и контексты (SimpleSyncContext, GroupedSyncContext) - Read-этапы безопасны для тестов (не пишут в БД/MQ), Write-этапы изолированы через отдельные интерфейсы - Добавлено [Perf]-логирование каждого этапа с метриками времени выполнения - Логи приведены к человекочитаемому формату 'Имя' (ID) для Job, JobGroup и Unit - Устранено дублирование данных в контекстах (FilteredUnits перезаписывается, TemplateGroups строго типизирован) - Константы неиспользуемых шаблонов вынесены в UnusedTemplateConstants - Структура проекта реорганизована: SimpleSync, GroupedSync, Implementations, Interfaces
17 lines
607 B
C#
17 lines
607 B
C#
namespace PARR.TemplateMatcher.Services.GroupedSync
|
||
{
|
||
/// <summary>
|
||
/// Штатное прерывание пайплайна (нет данных после этапа).
|
||
/// Не является ошибкой — оркестратор перехватывает и логирует как нормальное завершение.
|
||
/// </summary>
|
||
public class GroupedSyncEarlyExitException : Exception
|
||
{
|
||
public string Reason { get; }
|
||
|
||
public GroupedSyncEarlyExitException(string reason) : base(reason)
|
||
{
|
||
Reason = reason;
|
||
}
|
||
}
|
||
}
|