pymysql定时检查数据库连接状态

1)connection.ping()函数会校验连接的可用性,如果连接不可用将会产生异常;
2)利用这一特性,构造一个连接检查循环,出现异常时不断尝试连接数据库,直到连接恢复;
3)采用这样的机制不需要关闭数据库功能

检测流程如下:
一、连接数据库,返回数据库连接对象

import pymysql
def connect():
    conn = pymysql.connect(host='localhost', user='root', password='dong', db='mydb', port=3306)
    return conn

二、生成连接对象的实例

c = connect()

三、数据库连接检测函数

def fun(i):
    global c
    try:
        c.ping()   # 采用连接对象的ping()函数检测连接状态
        print('connect-%d ok' % i)

    # 出现异常重新连接
    except:
        c = connect()

四、定时检测数据库连接状态

import time
i = 0
while True:
    fun(i)
    i += 1
    time.sleep(10)

你可能感兴趣的:(数据库)