FwHealthCheck

Endpoints de health-check. Importante pra load balancer + Kubernetes saberem se AppServer esta saudavel.

Assinatura: @HealthCheck() function checkBanco()

Retorna: JsonObject

Health checks sao "ping" que load balancers fazem pra saber se um no esta vivo. FwHealthCheck registra checks customizados.

@HealthCheck(:name "banco")
function CheckBanco()
    try
        TCSqlExec("SELECT 1")
        Return JsonObject():New():set("status", "ok")
    catch
        Return JsonObject():New():set("status", "fail")
    endtry
return

@HealthCheck(:name "ws-externo")
function CheckWSExterno()
    Local oHttp := FwHttpClient():New()
    Local oResp := oHttp:Get("https://api.empresa.com/health")
    Return JsonObject():New():set("status", If(oResp:GetStatus() == 200, "ok", "fail"))
return

Endpoint /health

Auto-exposto. Retorna 200 se todos checks ok, 503 se algum falhou.

GET /health
{
    "status": "ok",
    "checks": {
        "banco": "ok",
        "ws-externo": "ok"
    }
}

Veja também