码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2017-11-16 16:22:55      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:python 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加入超时及其重试功能

标签:python mysqldb 重试

原文地址:http://smly1989.blog.51cto.com/1519819/1982404

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!