fix(oracle): corrigir persistência e carregamento do ranking

- Corrigir conexão Oracle com teste antes do pool
- Carregar ranking em batches de 10k (limite de 10k por query)
- Aumentar timeout de carregamento para 5 minutos
- Adicionar depends_on para Oracle no docker-compose
- Padronizar nome do container Oracle para oracle18c
This commit is contained in:
Frederico Castro
2025-12-15 07:40:05 -03:00
parent 3a0dd036f4
commit b44582653b
3 changed files with 30 additions and 24 deletions

View File

@@ -17,24 +17,29 @@ class OracleClient:
def connect(self) -> None:
try:
test_conn = oracledb.connect(
user=self.user,
password=self.password,
dsn=self.dsn,
)
test_conn.ping()
test_conn.close()
self._pool = oracledb.create_pool(
user=self.user,
password=self.password,
dsn=self.dsn,
min=1,
max=20,
increment=5,
timeout=30,
wait_timeout=10,
getmode=oracledb.POOL_GETMODE_TIMEDWAIT,
max=10,
increment=1,
)
self._connected = True
logger.info("Pool Oracle conectado com sucesso")
logger.info(f"Pool Oracle conectado: {self.dsn}")
except oracledb.Error as e:
logger.error(f"Oracle database error: {e}", exc_info=True)
logger.error(f"Oracle database error: {e}")
self._connected = False
except Exception as e:
logger.error(f"Oracle connection error: {e}", exc_info=True)
logger.error(f"Oracle connection error: {e}")
self._connected = False
def close(self) -> None: