Перейти к содержанию

Запуск 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 до инициализации логгера фиксируется средствами среды выполнения.