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:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user