Запуск backend-процессов¶
Требования применяются к запуску backend-процессов и исполняемых data
pipelines. Уровни обязательности определены в корневом README.md.
BE-START-001. Fail-fast инициализация¶
Уровень: MUST
Применяется к: обязательной конфигурации и зависимости при старте
Процесс должен проверить конфигурацию до допуска работы и завершиться с ненулевым кодом при неустранимой ошибке. Ожидание временно недоступной обязательной зависимости должно иметь конечный общий timeout и ограниченные retry.
Обоснование¶
Частично инициализированный процесс не должен оставаться неопределённо живым.
Проверка¶
- тест ошибочной конфигурации и зависимости;
- измерение startup timeout;
- проверка кода выхода.
Исключения¶
Восстанавливаемая зависимость может ожидаться после старта, пока readiness остаётся неуспешным.
BE-START-002. Порядок готовности¶
Уровень: MUST
Применяется к: переходу процесса в ready
Readiness не должен становиться успешным до инициализации обработчиков,
обязательных ресурсов и фоновых циклов. Допуск новой работы должен начинаться
только после успешного перехода по BE-HLTH-004.
Обоснование¶
Ранний ready направляет работу в частично запущенный экземпляр.
Проверка¶
- integration-тест медленного этапа;
- проверка последовательности lifecycle events;
- тест запроса на каждом этапе старта.
Исключения¶
Не допускаются.
BE-START-003. Наблюдаемость запуска¶
Уровень: MUST
Применяется к: результату процедуры запуска
Процесс должен один раз записать startup.completed с результатом и
длительностью либо startup.failed со стабильным классом причины. События
должны соответствовать logging.md и не содержать секреты.
Обоснование¶
Ограниченные события позволяют отличить медленный запуск от crash loop.
Проверка¶
- тест успешного, ошибочного и просроченного запуска;
- проверка единственности и полей события;
- поиск события в OpenObserve.
Исключения¶
Crash до инициализации логгера фиксируется средствами среды выполнения.