Автоматизация проектирования
Идемпотентная загрузка: повторный запуск не должен менять данные
Загрузку перезапускают всегда: сбой, правка, повтор после исправления. Идемпотентность — свойство, без которого повтор удваивает строки, а разбор занимает день.
Что такое идемпотентность на практике
Повторный запуск загрузки за тот же период не меняет результат. Ни строк, ни сумм, ни версий. Это не свойство платформы, а свойство конвейера, и его надо проектировать.
Три вещи, которые её ломают
- Вставка без удаления предыдущей загрузки того же периода.
- Счётчики, которые инкрементируются при каждом запуске.
- Зависимость от текущего времени вместо даты среза.
Как это выглядит в схеме
- у загрузки есть граница: дата или номер пакета, по которой она удаляет свой предыдущий результат;
- ошибочные строки не отбрасываются, а уходят в отдельный журнал с причиной;
- порядок шагов одинаков: подготовка, загрузка, проверка, публикация;
- проверка сходится: число строк и контрольные суммы совпадают с ожидаемыми.
Журнал ошибок нужен не для отчётности: без него повторный запуск «успешен», а часть данных молча отсутствует.
Как проверить
Загрузка запускается дважды подряд на одном и том же срезе. Результат должен совпасть построчно. Затем запускается на срезе с заведомо испорченной строкой: она должна попасть в журнал, а остальные данные — загрузиться.
Эти две проверки дешевле любого разбора инцидента и делаются до первого боевого запуска.
Ограничение
Идемпотентность не решает проблему изменений в источнике: если источник переписал историю, конвейер честно загрузит новую версию. Бороться с этим нужно на входе — сверкой и историчностью, а не повторными запусками.
Объекты по теме
Другие статьи из категории
- Отклонение башни от вертикали: что измерять и как читать результат
- Каркас промышленного здания: порядок проектирования и типовые ошибки
- Поиск по нормам с источником: как проверять ответ ИИ-инструмента
- История атрибутов вместо перезаписи: почему отчёты не сходятся
- Обследование башен и мачт: что проверять и в каком порядке
Похожие статьи
Все статьи →Автоматизация проектирования
Обследование башен и мачт: что проверять и в каком порядке
Высотное сооружение обследуют не целиком за один выход, а по шагам: документы, геометрия, соединения, основание. Что даёт каждый шаг и что…
Автоматизация проектирования
История атрибутов вместо перезаписи: почему отчёты не сходятся
Один и тот же договор в двух отчётах даёт разные суммы, когда атрибуты перезаписываются. Историчность строки объясняет расхождение версией,…
Автоматизация проектирования
Поиск по нормам с источником: как проверять ответ ИИ-инструмента
Ответ без ссылки на пункт проверять нечем. Что должен отдавать инструмент поиска по нормативной базе, чтобы им можно было пользоваться в…
Автоматизация проектирования
Каркас промышленного здания: порядок проектирования и типовые ошибки
Порядок работы над каркасом: компоновка, схема, нагрузки, сечения, узлы. Где чаще всего возвращаются назад и как этого избежать, не…
Автоматизация проектирования
Отклонение башни от вертикали: что измерять и как читать результат
Одно число отклонения ничего не говорит: нужен профиль по ярусам, привязка к высоте и сравнение с проектом. Как измеряется и где результат…
Нужен расчёт?
Пришлите исходные данные — уточним состав работы и ответим по срокам.