python2中MySQLdb加入超时及其重试功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python2中MySQLdb加入超时及其重试功能相关的知识,希望对你有一定的参考价值。

  1. 定义一个状态,超时时间和重试的次数限制(此为样例代码,你可以把他们包装到函数或类中)

  2. 循环判断_conn_status状态且判断最大重试次数

  3. 在循环中try except 连接如果DB连接成功则_conn_status为False,异常except则_conn_retries_count次数加1,且continue操作


def reConndb():
    _conn_status = True
    _max_retries_count = 10          #设置最大重试次数
    _conn_retries_count = 0          #初始重试次数
    _conn_timeout = 3       # 连接超时时间为3秒
    while _conn_staus and _conn_num <= _conn_retries_count:
                try:
                    conn = db.connect(host=xxx, user=xxx, passwd=xxx, connect_timeout=_conn_timeout)
                    _status = False  # 如果conn成功则_status为设置为False则退出循环,返回db连接对象
                    return conn
                except:
                    _conn_num += 1
                    print _conn_num
                    print ‘connect db is error!!‘
                    time.sleep(3)            #此为测试看效果
                    continue

以上为带重试功能和连接超时功能的DB连接

以上是关于python2中MySQLdb加入超时及其重试功能的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库连接重试功能和连接超时功能的DB连接Python实现

uniapp打开页面显示--连接服务器超时,请点击重试

Python2 - MySQL适配器 MySQLdb

重试框架Spring retry实践

Polly

《Spring Cloud 》Eureka服务调用服务超时重试机制