以下是一个示例代码,可以帮助保持数据库连接活跃并避免通信链路故障异常:
import time
import pymysql
# 数据库连接配置
db_config = {
'host': 'localhost',
'user': 'username',
'password': 'password',
'db': 'database_name',
'charset': 'utf8mb4',
'cursorclass': pymysql.cursors.DictCursor
}
# 创建一个数据库连接
def create_db_connection():
while True:
try:
connection = pymysql.connect(**db_config)
return connection
except pymysql.Error as e:
# 处理数据库连接错误,例如重试或记录日志
print("数据库连接错误:", e)
time.sleep(5) # 等待5秒后重试
# 执行SQL查询
def execute_query(query):
# 创建数据库连接
connection = create_db_connection()
try:
with connection.cursor() as cursor:
# 执行SQL查询
cursor.execute(query)
result = cursor.fetchall()
return result
except pymysql.Error as e:
# 处理数据库查询错误,例如重试或记录日志
print("数据库查询错误:", e)
finally:
connection.close() # 关闭数据库连接
# 示例查询
query = "SELECT * FROM table_name"
result = execute_query(query)
print(result)
这个示例代码中,create_db_connection
函数负责创建数据库连接。如果连接失败,它会等待5秒后重试,直到成功连接或达到最大重试次数。
execute_query
函数用于执行SQL查询。它首先调用create_db_connection
函数创建数据库连接,然后使用连接执行查询。最后,无论查询是否成功,都会关闭数据库连接。
通过使用这个示例代码,你可以确保数据库连接保持活跃,并在通信链路故障时进行重试,以提高程序的稳定性和可靠性。
下一篇:保持数据库外键的一致性