Descrição
Os handlers `handle_http` e `handle_llm` criam novas conexões a cada invocação. Falhas em serviços externos podem causar cascade failures.
async with httpx.AsyncClient() as client: # ← novo client por chamada
response = await client.post(...)
client = ollama.Client() # ← nova conexão por chamada
Impacto
- Esgotamento de file descriptors em alta carga
- Falhas em cascata: serviço lento bloqueia executor
- Sem retry inteligente com backoff exponencial
Correção sugerida
- Criar `httpx.AsyncClient` como singleton com connection pooling
- Adicionar `pybreaker` (circuit breaker) para chamadas externas
- Implementar retry com exponential backoff configurável
Referência
- handlers.py: `handle_http()`, `handle_llm()`
Descrição
Os handlers `handle_http` e `handle_llm` criam novas conexões a cada invocação. Falhas em serviços externos podem causar cascade failures.
Impacto
Correção sugerida
Referência