From ed37d11ee62bd8425f1ecf7237eb0d1a7867b986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=95=88=EC=84=B1=EC=9E=AC?= Date: Wed, 3 Apr 2024 01:12:51 +0900 Subject: [PATCH] =?UTF-8?q?Refactor:=20redis=20=EC=98=88=EC=99=B8=20?= =?UTF-8?q?=EC=B2=98=EB=A6=AC=20=ED=95=9C=20=ED=9B=84,=20=ED=8A=B8?= =?UTF-8?q?=EB=9E=9C=EC=9E=AD=EC=85=98=20=EC=BB=A4=EB=B0=8B=ED=95=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataPreProcessing/auto_data_preprocessing.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Backend/DataPreProcessing/auto_data_preprocessing.py b/Backend/DataPreProcessing/auto_data_preprocessing.py index 7893e86..626aec6 100644 --- a/Backend/DataPreProcessing/auto_data_preprocessing.py +++ b/Backend/DataPreProcessing/auto_data_preprocessing.py @@ -236,13 +236,16 @@ def save_df_to_sql(engine, dfs, tables_info, redis_client, dtype_dict): if add_id_column: connection.execute(text(f'ALTER TABLE {table_name} ADD COLUMN id SERIAL PRIMARY KEY;')) - # 모든 변경 성공시 사항 커밋 + # 레디스 작업을 트랜잭션 커밋 전에 수행 + try: + redis_client.flushdb() # Redis에 저장된 모든 데이터 초기화 + except redis.RedisError as re: + print(f"Redis operation failed: {re}") + raise # 현재 오류를 다시 발생시켜 상위로 전달 + + # 레디스 작업이 성공적으로 완료되면, 모든 변경 사항을 데이터베이스에 커밋 transaction.commit() - - # Redis에 저장된 모든 데이터 초기화 - redis_client.flushdb() - - print("Transaction success") + print("Transaction and Redis operation success") except SQLAlchemyError as e: # 오류 발생 시 롤백 transaction.rollback()