Deploy inicial: API FastAPI + infra Podman/Caddy + docs
- App FastAPI (main.py, app/): rotas /health e /dados_retorno, middleware anti-scanner, logging configurado - Config via configs.json (Pydantic); segredos fora do codigo e do git (.gitignore) - Dockerfile (oracledb thin, HEALTHCHECK) + requirements.txt + .dockerignore - Deploy Podman/Quadlet + Caddy em deploy/ - Docs: CLAUDE.md + docs/ (arquitetura, deploy, known-issues) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
commit
15c89c9038
22 changed files with 1397 additions and 0 deletions
33
app/services/controle_api.py
Normal file
33
app/services/controle_api.py
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# app/services/api_tracker.py
|
||||
import logging
|
||||
|
||||
|
||||
def registrar_contador(
|
||||
conn, api, endpoint, metodo, status_code, sucesso, duracao_ms, erro=None
|
||||
):
|
||||
"""Grava uma linha na tabela contadores_api."""
|
||||
cursor = conn.cursor()
|
||||
try:
|
||||
cursor.execute(
|
||||
"""
|
||||
INSERT INTO orvel_ti.contadores_api
|
||||
(api, endpoint, metodo_http, status_code, sucesso, duracao_ms, mensagem_erro)
|
||||
VALUES
|
||||
(:api, :endpoint, :metodo, :status, :sucesso, :duracao, :erro)
|
||||
""",
|
||||
{
|
||||
"api": api,
|
||||
"endpoint": endpoint,
|
||||
"metodo": metodo,
|
||||
"status": status_code,
|
||||
"sucesso": "S" if sucesso else "N",
|
||||
"duracao": duracao_ms,
|
||||
"erro": erro[:500] if erro else None,
|
||||
},
|
||||
)
|
||||
conn.commit()
|
||||
except Exception as e:
|
||||
conn.rollback()
|
||||
logging.error(f"Falha ao gravar contador: {e}")
|
||||
finally:
|
||||
cursor.close()
|
||||
Loading…
Add table
Add a link
Reference in a new issue