Improvement on SQL connections and timeouts.

This commit is contained in:
Scott Idem
2022-08-03 15:00:18 -04:00
parent 02e38a9c2c
commit 0dd80fd829

View File

@@ -27,8 +27,14 @@ except:
# log.debug(vars(db)) # log.debug(vars(db))
# log.debug(dir(db)) # log.debug(dir(db))
def sql_connect(current_db):
log.setLevel(logging.INFO) # ### BEGIN ### API DB SQL ### sql_connect() ###
@logger_reset
def sql_connect(
current_db,
log_lvl: int = logging.WARNING, # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
) -> None|bool|int:
log.setLevel(log_lvl)
log.debug(locals()) log.debug(locals())
# log.info('Trying to recreate the pool...') # log.info('Trying to recreate the pool...')
@@ -51,7 +57,11 @@ def sql_connect(current_db):
new_engine = create_engine(url=settings.SQLALCHEMY_DB_URI, pool_size=25, pool_recycle=60, pool_pre_ping=True, echo=False, echo_pool=True, isolation_level='READ COMMITTED', connect_args={'connect_timeout': 30}) new_engine = create_engine(url=settings.SQLALCHEMY_DB_URI, pool_size=25, pool_recycle=60, pool_pre_ping=True, echo=False, echo_pool=True, isolation_level='READ COMMITTED', connect_args={'connect_timeout': 30})
current_db.engine = new_engine current_db.engine = new_engine
log.info(f'Created and connected to database: {settings.SQLALCHEMY_DB_URI}')
return True
else:
log.info(f'Could not created and or connect to database')
return False
# current_db.engine.dispose() # current_db.engine.dispose()
# db.engine.dispose() # db.engine.dispose()
@@ -66,7 +76,7 @@ def sql_connect(current_db):
# new_engine = create_engine(url=settings.SQLALCHEMY_DB_URI, pool_size=25, pool_recycle=60, pool_pre_ping=True, echo=False, echo_pool=True, isolation_level='READ COMMITTED') # new_engine = create_engine(url=settings.SQLALCHEMY_DB_URI, pool_size=25, pool_recycle=60, pool_pre_ping=True, echo=False, echo_pool=True, isolation_level='READ COMMITTED')
# current_db.engine = new_engine.connect() # current_db.engine = new_engine.connect()
return True
# current_db.engine.update_url(settings.SQLALCHEMY_DB_URI) # current_db.engine.update_url(settings.SQLALCHEMY_DB_URI)
# return current_db # return current_db
@@ -77,6 +87,7 @@ def sql_connect(current_db):
# db.engine = engine # db.engine = engine
# db = engine.connect() # db = engine.connect()
# return db # return db
# ### END ### API DB SQL ### sql_connect() ###
# #### ### ## # BEGIN SQL # ## ### #### # #### ### ## # BEGIN SQL # ## ### ####
@@ -84,7 +95,7 @@ def sql_connect(current_db):
# CRUD or CGUD # CRUD or CGUD
# ### BEGIN ### Core Help CRUD ### sql_insert() ### # ### BEGIN ### API DB SQL ### sql_insert() ###
# NOTE: Possible future change... Try to look up a duplicate entry if there is one on INSERT. # NOTE: Possible future change... Try to look up a duplicate entry if there is one on INSERT.
# Updated 2021-09-07 # Updated 2021-09-07
@logger_reset @logger_reset
@@ -217,10 +228,10 @@ def sql_insert(
log.debug(result_insert.lastrowid) # returns last row ID on insert and update with a change and returns 0 if nothing changed log.debug(result_insert.lastrowid) # returns last row ID on insert and update with a change and returns 0 if nothing changed
return False return False
return False return False
# ### END ### Core Help CRUD ### sql_insert() ### # ### END ### API DB SQL ### sql_insert() ###
# ### BEGIN ### Core Help CRUD ### sql_update() ### # ### BEGIN ### API DB SQL ### sql_update() ###
# Updated 2021-09-07 # Updated 2021-09-07
@logger_reset @logger_reset
def sql_update( def sql_update(
@@ -357,7 +368,7 @@ def sql_update(
# NOTE: Returning None seems to make more sense. There were no errors. Just nothing needed to be updated. # NOTE: Returning None seems to make more sense. There were no errors. Just nothing needed to be updated.
return None # False was False until 2022-03-16 return None # False was False until 2022-03-16
return False return False
# ### END ### Core Help CRUD ### sql_update() ### # ### END ### API DB SQL ### sql_update() ###
# ### BEGIN ### Core Help CRUD ### sql_insert_or_update() ### # ### BEGIN ### Core Help CRUD ### sql_insert_or_update() ###