fix: resolver problemas identificados no code review
Correções de segurança: - SQL Injection: usar prepared statements em ranking_repository.py - Validação de entrada para parâmetros page/size Correções de bugs: - Bônus de continuidade: 15→20 pts para 8+ anos (conforme especificação) - Memory leak: limpar _consultores após processamento do ranking Melhorias de robustez: - Substituir bare except por exceções específicas - Threading.Lock para padrão singleton thread-safe - Pool Oracle com configuração otimizada (timeout/getmode) - ES client com timeouts diferenciados e verificação is_closed - Logging para tipos de coordenação desconhecidos Correções frontend: - Polling com timeout máximo de 5 minutos - useEffect cleanup para setTimeout - React.memo e useMemo para otimização de performance
This commit is contained in:
@@ -51,7 +51,7 @@ class ProcessarRankingJob:
|
||||
|
||||
job_status.finalizar(sucesso=True)
|
||||
|
||||
return {
|
||||
resultado_final = {
|
||||
"sucesso": True,
|
||||
"total_processados": resultado.get("processados", len(entries)),
|
||||
"total_batches": resultado.get("batches", 0),
|
||||
@@ -59,9 +59,15 @@ class ProcessarRankingJob:
|
||||
"estatisticas": estatisticas
|
||||
}
|
||||
|
||||
self._consultores = []
|
||||
|
||||
return resultado_final
|
||||
|
||||
except Exception as e:
|
||||
self._consultores = []
|
||||
job_status.finalizar(sucesso=False, erro=str(e))
|
||||
raise RuntimeError(f"Erro ao processar ranking: {e}")
|
||||
logger.error(f"Erro ao processar ranking: {e}", exc_info=True)
|
||||
raise RuntimeError(f"Erro ao processar ranking: {e}") from e
|
||||
|
||||
async def _processar_batch(self, docs: list, progress: dict) -> None:
|
||||
for doc in docs:
|
||||
|
||||
Reference in New Issue
Block a user