perf: db connection close if needt

This commit is contained in:
ibuler
2025-05-14 14:29:14 +08:00
committed by 老广
parent a72e6456d9
commit e9ff988d8c
5 changed files with 7 additions and 6 deletions

View File

@@ -56,7 +56,7 @@ def close_old_connections():
@contextmanager
def safe_db_connection():
def safe_db_connection(auto_close=False):
in_atomic_block = connection.in_atomic_block # 当前是否处于事务中
autocommit = transaction.get_autocommit() # 是否启用了自动提交
created = False
@@ -69,7 +69,7 @@ def safe_db_connection():
yield
finally:
# 如果不是事务中API 请求中可能需要提交事务),则关闭连接
if created and not in_atomic_block and autocommit:
if auto_close or (created and not in_atomic_block and autocommit):
print("close connection in safe_db_connection")
close_old_connections()