Cache VM112/VM122 para lista e detalhe domínio, modal purge com loading animado, cards Escopo OPS clicáveis (camada + Spec + navegação), blocklist visível na UI, e documentação nas specs e anais de referência 20260625. Co-authored-by: Cursor <cursoragent@cursor.com>
2.2 KiB
2.2 KiB
VM112 — cache GET /api/admin/domains (2026-06-25)
Problema: Serviços IaaS (Desk) demorava 10–16s — zmprov gad ~5s por pedido, sem cache.
Patch: cache em memória no wizard VM112 + invalidação em cd/dd/purge.
Ficheiros
| Ficheiro | Destino VM112 |
|---|---|
carbonio_cache.py |
/opt/ligbox-wizard/backend/app/services/ |
carbonio.py |
idem |
domain_orchestration.py |
idem |
infrastructure.py |
idem |
admin_domains.py |
/opt/ligbox-wizard/backend/app/routers/ |
Deploy
scp perf-domains-list-20260625/*.py root@10.10.10.112:/tmp/
ssh root@10.10.10.112 '
W=/opt/ligbox-wizard/backend/app
cp /tmp/carbonio_cache.py $W/services/
cp /tmp/carbonio.py $W/services/
cp /tmp/domain_orchestration.py $W/services/
cp /tmp/infrastructure.py $W/services/
cp /tmp/admin_domains.py $W/routers/
systemctl restart ligbox-wizard
'
Env (opcional)
| Variável | Default | Descrição |
|---|---|---|
| — | TTL_ALL_DOMAINS=90 |
Cache zmprov gad (carbonio_cache.py) |
| — | TTL_ORCH_LIST=60 |
Cache lista orquestrada montada |
Desk VM112_DOMAINS_CACHE_TTL |
60 | Cache proxy VM122 |
Validação
# 2.º hit lista — deve ser <1s
curl -s -H "X-Api-Key: $KEY" http://10.10.10.112:8090/api/admin/domains | jq '.cached, .cache_age_sec'
# Desk detalhe — purge_blocked para blocklist
curl -s -H "Authorization: Bearer $TOKEN" \
https://api.ops.ligbox.com.br/api/v1/vm112/domains/ligbox.com.br | jq '.purge_blocked'
Documentação: Spec 017/018 § Performance · anais docs/anais-referencia/20260625_SERVICOS_IAAS_PERF_UX_ESCOPO.md · frontend ?v=20260625align1
# Lista — 1.º ~5–6s, 2.º <0.1s
curl -s -H "X-Api-Key: $KEY" http://10.10.10.112:8090/api/admin/domains | jq '.cached, .cache_age_sec, (.domains|length)'
# Detalhe purge modal — 1.º ~16s, 2.º <0.1s
curl -s -H "X-Api-Key: $KEY" http://10.10.10.112:8090/api/admin/domains/diarissima.com | jq '.domain, (.accounts|length), (.infra_status.steps|length)'
Rollback
Restaurar backup ou git anterior em /opt/ligbox-wizard/backend/app/services/ + systemctl restart ligbox-wizard.