fix and update
This commit is contained in:
@@ -6,8 +6,19 @@ import { CoreGrpcService } from '../core-grpc.service';
|
|||||||
export class HealthController {
|
export class HealthController {
|
||||||
constructor(private readonly core: CoreGrpcService) {}
|
constructor(private readonly core: CoreGrpcService) {}
|
||||||
|
|
||||||
|
// Liveness-проба. ВАЖНО: проверяет только то, что HTTP-сервер api-gateway
|
||||||
|
// поднят, и НЕ зависит от sso-core. Иначе временная недоступность gRPC
|
||||||
|
// помечает весь api-gateway как unhealthy в Docker healthcheck, что роняет
|
||||||
|
// зависимые сервисы и приводит к 502 на всех /idp-api/* маршрутах.
|
||||||
@Get()
|
@Get()
|
||||||
async check() {
|
check() {
|
||||||
|
return { status: 'ok', service: 'api-gateway' };
|
||||||
|
}
|
||||||
|
|
||||||
|
// Readiness/диагностика связи с sso-core по gRPC.
|
||||||
|
// НЕ используется в Docker healthcheck, чтобы сбой sso-core не каскадил.
|
||||||
|
@Get('ready')
|
||||||
|
async ready() {
|
||||||
try {
|
try {
|
||||||
await firstValueFrom(this.core.settings.GetSetting({ key: 'PROJECT_NAME' }));
|
await firstValueFrom(this.core.settings.GetSetting({ key: 'PROJECT_NAME' }));
|
||||||
return { status: 'ok', service: 'api-gateway', grpc: 'ok' };
|
return { status: 'ok', service: 'api-gateway', grpc: 'ok' };
|
||||||
|
|||||||
Reference in New Issue
Block a user