Working on Aether configs

This commit is contained in:
Scott Idem
2022-07-07 14:47:40 -04:00
parent 8598a39b1e
commit ead68b24a3
6 changed files with 106 additions and 43 deletions

BIN
app/.config.py.kate-swp Normal file

Binary file not shown.

View File

@@ -8,7 +8,7 @@ from sqlalchemy import create_engine, text, Time
from sqlalchemy.exc import IntegrityError, OperationalError from sqlalchemy.exc import IntegrityError, OperationalError
db_uri = settings.SQLALCHEMY_DATABASE_URI db_uri = settings.SQLALCHEMY_DB_URI
connection_string = db_uri connection_string = db_uri
engine = create_engine(url=connection_string, pool_size=25, pool_recycle=60, pool_pre_ping=True, echo=False, echo_pool=True, isolation_level='READ COMMITTED') engine = create_engine(url=connection_string, pool_size=25, pool_recycle=60, pool_pre_ping=True, echo=False, echo_pool=True, isolation_level='READ COMMITTED')
@@ -22,6 +22,57 @@ db = engine.connect()
# log.debug(vars(db)) # log.debug(vars(db))
# log.debug(dir(db)) # log.debug(dir(db))
def sql_connect(current_db):
log.setLevel(logging.DEBUG)
log.debug(locals())
# log.info('Trying to recreate the pool...')
log.info('Trying to create a new engine (connection pool)...')
log.debug('############## ############')
log.debug(dir(current_db))
log.debug(vars(current_db))
log.debug('############## ############')
log.debug(dir(current_db.engine))
log.debug(vars(current_db.engine))
log.debug('############## ############')
log.debug(dir(current_db.engine.pool))
log.debug(vars(current_db.engine.pool))
log.debug('############## ############')
if current_db:
DB = settings.DB
settings.SQLALCHEMY_DB_URI = 'mysql://'+DB['username']+':'+DB['password']+'@'+DB['server']+'/'+DB['name']
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
# current_db.engine.dispose()
# db.engine.dispose()
# log.debug(db_uri)
# DB = settings.DB
# settings.SQLALCHEMY_DB_URI = 'mysql://'+DB['username']+':'+DB['password']+'@'+DB['server']+'/'+DB['name']
# # log.debug(settings.SQLALCHEMY_DB_URI)
# 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()
return True
# current_db.engine.update_url(settings.SQLALCHEMY_DB_URI)
# return current_db
# engine.connect()
# db.engine = engine
# db = engine.connect()
# return db
# #### ### ## # BEGIN SQL # ## ### #### # #### ### ## # BEGIN SQL # ## ### ####
# Create, Read/Get, Update, Delete # Create, Read/Get, Update, Delete
@@ -577,18 +628,20 @@ def sql_select(
log.exception('**** *** ** * ### BEGIN ### Operational Exception Happened: Trying again... * ** *** ****') log.exception('**** *** ** * ### BEGIN ### Operational Exception Happened: Trying again... * ** *** ****')
log.error('^^^^ ^^^ ^^ ^ ### END ### Operational Exception ^ ^^ ^^^ ^^^^') log.error('^^^^ ^^^ ^^ ^ ### END ### Operational Exception ^ ^^ ^^^ ^^^^')
log.info('Trying to recreate the pool...') sql_connect(current_db=db)
log.debug('############## ############')
log.debug(dir(db)) # log.info('Trying to recreate the pool...')
log.debug(vars(db)) # log.debug('############## ############')
log.debug('############## ############') # log.debug(dir(db))
log.debug(dir(db.engine)) # log.debug(vars(db))
log.debug(vars(db.engine)) # log.debug('############## ############')
log.debug('############## ############') # log.debug(dir(db.engine))
log.debug(dir(db.engine.pool)) # log.debug(vars(db.engine))
log.debug(vars(db.engine.pool)) # log.debug('############## ############')
log.debug('############## ############') # log.debug(dir(db.engine.pool))
db.engine.dispose() # log.debug(vars(db.engine.pool))
# log.debug('############## ############')
# db.engine.dispose()
log.info('Now trying the query again...') log.info('Now trying the query again...')
try: try:
if data: if data:
@@ -778,18 +831,20 @@ def sql_delete(
log.exception('**** *** ** * ### BEGIN ### Operational Exception Happened: Trying again... * ** *** ****') log.exception('**** *** ** * ### BEGIN ### Operational Exception Happened: Trying again... * ** *** ****')
log.error('^^^^ ^^^ ^^ ^ ### END ### Operational Exception ^ ^^ ^^^ ^^^^') log.error('^^^^ ^^^ ^^ ^ ### END ### Operational Exception ^ ^^ ^^^ ^^^^')
log.info('Trying to recreate the pool...') sql_connect(current_db=db)
log.debug('############## ############')
log.debug(dir(db)) # log.info('Trying to recreate the pool...')
log.debug(vars(db)) # log.debug('############## ############')
log.debug('############## ############') # log.debug(dir(db))
log.debug(dir(db.engine)) # log.debug(vars(db))
log.debug(vars(db.engine)) # log.debug('############## ############')
log.debug('############## ############') # log.debug(dir(db.engine))
log.debug(dir(db.engine.pool)) # log.debug(vars(db.engine))
log.debug(vars(db.engine.pool)) # log.debug('############## ############')
log.debug('############## ############') # log.debug(dir(db.engine.pool))
db.engine.dispose() # log.debug(vars(db.engine.pool))
# log.debug('############## ############')
# db.engine.dispose()
log.info('Now trying the query again...') log.info('Now trying the query again...')
try: try:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL # log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL

View File

@@ -174,7 +174,7 @@ def create_export_file(
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
hosted_tmp_path = settings.PATH_HOSTED_TMP_ROOT hosted_tmp_path = settings.FILES_PATH['hosted_tmp_root']
# hosted_tmp_path = 'admin/temp' # hosted_tmp_path = 'admin/temp'
log.info(f'Hosted Temp Path: {hosted_tmp_path}') log.info(f'Hosted Temp Path: {hosted_tmp_path}')
@@ -239,7 +239,7 @@ def return_full_tmp_path(
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
hosted_tmp_path = settings.PATH_HOSTED_TMP_ROOT hosted_tmp_path = settings.FILES_PATH['hosted_tmp_root']
# hosted_tmp_path = 'admin/temp' # hosted_tmp_path = 'admin/temp'
log.info(f'Hosted Temp Path: {hosted_tmp_path}') log.info(f'Hosted Temp Path: {hosted_tmp_path}')

View File

@@ -20,7 +20,7 @@ from app.log import log, logging
# Import the routers here first: # Import the routers here first:
from app.routers import api_crud, api, importing, sql, account, activity_log, address, archive, archive_content, contact, cont_edu_cert, cont_edu_cert_person, data_store, event, event_badge, event_badge_template, event_device, event_exhibit, event_exhibit_tracking, event_file, event_importing, event_location, event_person, event_person_detail, event_person_tracking, event_presentation, event_presenter, event_registration, event_session, flask_cfg, hosted_file, journal, journal_entry, log_client_viewing, lookup, membership_cfg, membership_group, membership_person_group, membership_person, membership_person_profile, membership_type, membership_person_type, order, order_v3, order_line, order_cart, organization, page, person, person_user, post, post_comment, product, qr, site, site_domain, user, websockets, e_cvent, c_idaa, e_impexium from app.routers import api_crud, api, importing, sql, account, activity_log, address, archive, archive_content, contact, cont_edu_cert, cont_edu_cert_person, data_store, event, event_badge, event_badge_template, event_device, event_exhibit, event_exhibit_tracking, event_file, event_importing, event_location, event_person, event_person_detail, event_person_tracking, event_presentation, event_presenter, event_registration, event_session, flask_cfg, hosted_file, journal, journal_entry, log_client_viewing, lookup, membership_cfg, membership_group, membership_person_group, membership_person, membership_person_profile, membership_type, membership_person_type, order, order_v3, order_line, order_cart, organization, page, person, person_user, post, post_comment, product, qr, site, site_domain, user, websockets, e_cvent, c_idaa, e_impexium
from app.db_sql import db, sql_select from app.db_sql import db, sql_select # , sql_connect
print('### **** *** ** * The Aether FastAPI API is loading... * ** *** **** ###') print('### **** *** ** * The Aether FastAPI API is loading... * ** *** **** ###')
@@ -41,26 +41,34 @@ app = FastAPI(
) )
log.setLevel(logging.DEBUG) # log.setLevel(logging.INFO)
log.debug(config.settings) # log.debug(config.settings)
if aether_cfg_sql_result := sql_select(table_name='cfg', record_id=1, as_list=False, max_count=1):
if aether_cfg_sql_result := sql_select(
table_name = 'cfg',
record_id = config.settings.AETHER_CFG['id'],
as_list = False,
max_count = 1
):
aether_cfg_sql = aether_cfg_sql_result aether_cfg_sql = aether_cfg_sql_result
# log.info(config.settings.APP_NAME)
log.debug(aether_cfg_sql_result.get('name')) config.settings.DB['server'] = aether_cfg_sql.get('db_server')
config.settings.test = 'test value for test' config.settings.DB['port'] = aether_cfg_sql.get('db_port')
config.settings.DB_SERVER = aether_cfg_sql.get('db_server') config.settings.DB['name'] = aether_cfg_sql.get('db_name')
config.settings.DB_PORT = aether_cfg_sql.get('db_port') config.settings.DB['username'] = aether_cfg_sql.get('db_username')
config.settings.DB_NAME = aether_cfg_sql.get('db_name') config.settings.DB['password'] = aether_cfg_sql.get('db_password')
config.settings.DB_USERNAME = aether_cfg_sql.get('db_username')
config.settings.DB_PASSWORD = aether_cfg_sql.get('db_password') DB = config.settings.DB
config.settings.SQLALCHEMY_DB_URI = 'mysql://'+DB['username']+':'+DB['password']+'@'+DB['server']+'/'+DB['name']
# db_result = sql_connect(config.settings.SQLALCHEMY_DB_URI)
config.settings.SMTP['server'] = aether_cfg_sql.get('smtp_server') config.settings.SMTP['server'] = aether_cfg_sql.get('smtp_server')
config.settings.SMTP['port'] = aether_cfg_sql.get('smtp_port') config.settings.SMTP['port'] = aether_cfg_sql.get('smtp_port')
config.settings.SMTP['username'] = aether_cfg_sql.get('smtp_username') config.settings.SMTP['username'] = aether_cfg_sql.get('smtp_username')
config.settings.SMTP['password'] = aether_cfg_sql.get('smtp_password') config.settings.SMTP['password'] = aether_cfg_sql.get('smtp_password')
# config.settings.PATH_HOSTED_FILES_ROOT = aether_cfg_sql.get('PATH_HOSTED_FILES_ROOT') # config.settings.FILES_PATH['hosted_files_root'] = aether_cfg_sql.get('PATH_HOSTED_FILES_ROOT')
# config.settings.PATH_HOSTED_TMP_ROOT = aether_cfg_sql.get('PATH_HOSTED_TMP_ROOT') # config.settings.FILES_PATH['hosted_tmp_root'] = aether_cfg_sql.get('PATH_HOSTED_TMP_ROOT')
config.settings.FILES_PATH['hosted_files_root'] = aether_cfg_sql.get('path_hosted_files_root') config.settings.FILES_PATH['hosted_files_root'] = aether_cfg_sql.get('path_hosted_files_root')
config.settings.FILES_PATH['hosted_tmp_root'] = aether_cfg_sql.get('path_hosted_tmp_root') config.settings.FILES_PATH['hosted_tmp_root'] = aether_cfg_sql.get('path_hosted_tmp_root')

View File

@@ -143,7 +143,7 @@ async def download_event_file(
if event_file_id := redis_lookup_id_random(record_id_random=event_file_id, table_name='event_file'): pass if event_file_id := redis_lookup_id_random(record_id_random=event_file_id, table_name='event_file'): pass
else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The event_file ID was invalid or not found.') else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The event_file ID was invalid or not found.')
hosted_files_path = settings.PATH_HOSTED_FILES_ROOT hosted_files_path = settings.FILES_PATH['hosted_files_root']
log.info(f'Hosted Files Path: {hosted_files_path}') log.info(f'Hosted Files Path: {hosted_files_path}')
if event_file_obj := load_event_file_obj( if event_file_obj := load_event_file_obj(

View File

@@ -79,7 +79,7 @@ async def get_qr(
if account_id := redis_lookup_id_random(record_id_random=account_id_random, table_name='account'): pass if account_id := redis_lookup_id_random(record_id_random=account_id_random, table_name='account'): pass
else: return mk_resp(data=None, status_code=404, response=response, status_message='The account ID was invalid or not found.') else: return mk_resp(data=None, status_code=404, response=response, status_message='The account ID was invalid or not found.')
hosted_tmp_root_path = settings.PATH_HOSTED_TMP_ROOT hosted_tmp_root_path = settings.FILES_PATH['hosted_tmp_root']
log.info(f'Hosted Tmp Root Path: {hosted_tmp_root_path}') log.info(f'Hosted Tmp Root Path: {hosted_tmp_root_path}')
if os.path.exists(hosted_tmp_root_path): if os.path.exists(hosted_tmp_root_path):