mirror of
https://github.com/fhswf/aki_prj23_transparenzregister.git
synced 2025-05-13 21:48:45 +02:00
Added an error handling when the sql session crashes in process on network connection lost. (#352)
This commit is contained in:
parent
ed08ffbfe1
commit
fe02b0f6c5
@ -1,7 +1,9 @@
|
|||||||
"""Data elements for Dash."""
|
"""Data elements for Dash."""
|
||||||
|
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
import sqlalchemy as sa
|
||||||
from cachetools import TTLCache, cached
|
from cachetools import TTLCache, cached
|
||||||
|
from loguru import logger
|
||||||
from sqlalchemy.engine import Engine
|
from sqlalchemy.engine import Engine
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
|
|
||||||
@ -74,11 +76,15 @@ def get_finance_data_of_one_company(session: Session, company_id: int) -> pd.Dat
|
|||||||
Returns:
|
Returns:
|
||||||
A dataframe containing all financial data of the selected company.
|
A dataframe containing all financial data of the selected company.
|
||||||
"""
|
"""
|
||||||
annual_finance_data = (
|
query = session.query(entities.AnnualFinanceStatement).filter(
|
||||||
session.query(entities.AnnualFinanceStatement)
|
entities.AnnualFinanceStatement.company_id == company_id # type: ignore
|
||||||
.filter(entities.AnnualFinanceStatement.company_id == company_id) # type: ignore
|
|
||||||
.all()
|
|
||||||
)
|
)
|
||||||
|
try:
|
||||||
|
annual_finance_data = query.all()
|
||||||
|
except sa.exc.OperationalError:
|
||||||
|
logger.warning("SQL rollback after operational Error!")
|
||||||
|
session.rollback()
|
||||||
|
annual_finance_data = query.all()
|
||||||
|
|
||||||
engine = session.bind
|
engine = session.bind
|
||||||
if not isinstance(engine, Engine):
|
if not isinstance(engine, Engine):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user