РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsSpPtLv 186 of 201 menu
◀ ▶

Проверка живости в Nest

Оркестратор периодически спрашивает API, жив ли контейнер. Если ответ не приходит или процесс завис, экземпляр перезапускают, не дожидаясь жалоб пользователей.

Проверка живости (liveness probe, зонд живости) не трогает базу и очереди: важно лишь, что NodeJS отвечает на HTTP. Пакет @nestjs/terminus даёт сервис сводки и пометку адреса проверки. Пустой список индикаторов в сводке означает, что смотрят только на сам процесс.

Покажем на примере постов:

npm install @nestjs/terminus

Подключим модуль проверок и контроллер здоровья:

import { Module } from '@nestjs/common'; import { TerminusModule } from '@nestjs/terminus'; import { HealthController } from './health.controller.js'; @Module({ imports: [TerminusModule], controllers: [HealthController], }) export class HealthModule {}

Адрес живости отдаёт сводку без внешних индикаторов:

import { Controller, Get } from '@nestjs/common'; import { HealthCheck, HealthCheckService } from '@nestjs/terminus'; @Controller('health') export class HealthController { constructor(private health: HealthCheckService) {} @Get('live') @HealthCheck() live() { return this.health.check([]); } }

Модуль здоровья импортируем рядом с модулем темы:

import { Module } from '@nestjs/common'; import { HealthModule } from './health.module.js'; import { PostController } from './post.controller.js'; @Module({ imports: [HealthModule], controllers: [PostController], }) export class AppModule {}

Установите пакет проверок, добавьте HealthModule с адресом живости для приложения работников и подключите модуль к корневому.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить